#CSPR10003. CSP-J/S 第一轮 队列与栈练习

CSP-J/S 第一轮 队列与栈练习

单选题

  1. 若元素 aabbccddeeff 依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次退栈操作,则不可能得到的出栈序列是( )。 {{ select(1) }}
  • dcebfadcebfa
  • cbdaefcbdaef
  • bcaefdbcaefd
  • afedcbafedcb

  1. 66 个元素,按照 665544332211 的顺序进入栈 SS,请问下面哪个出栈序列是非法的( )。 {{ select(2) }}
  • 55 44 33 66 11 22
  • 44 55 33 11 22 66
  • 33 44 66 55 22 11
  • 22 33 44 11 55 66

  1. 对假设栈 SS 和队列 QQ 的初始状态为空。存在e1e1 ~ e6e6 六个互不相同的数据,每个数据按照进栈 SS、出栈 SS、进队列 QQ、出队列 QQ 的顺序操作,不同数据间的操作可能会交错。已知栈 SS 中依次有数据 e1e1e2e2e3e3e4e4e5e5e6e6 进栈,队列 QQ 依次有数据 e2e2e4e4e3e3e6e6e5e5e1e1 出队列。则栈 SS 的容量至少是 ( )个数据。 {{ select(3) }}
  • 22
  • 33
  • 44
  • 66

  1. 今有一空栈 SS,对下列待进栈的数据元素序列aabbccddeeff 依次进行:进栈,进栈,出栈,进栈,进栈,出栈的操作,则此操作完成后,栈底元素为( )。 {{ select(4) }}
  • bb
  • aa
  • dd
  • cc

  1. 下图中所使用的数据结构是( )。 image {{ select(5) }}
  • 队列
  • 二叉树
  • 哈希表

  1. 前缀表达式 "+2* + 2 33 44" 的计算结果是( )。 {{ select(6) }}
  • 2424
  • 2020
  • 1818
  • 1414

  1. 算术表达式 a+b(c+d/e)a + b * ( c + d / e) 转换为后缀表达式为( )。 {{ select(7) }}
  • ab+cde/ab+cde/*
  • abcde/++abcde/+*+
  • abcde/++abcde/*++
  • abcde/++abcde*/++

  1. 对表达式 a+(bc)da+(b-c)*d 的前缀表达式为( ),其中 ++-* 是运算符。 {{ select(8) }}
  • *+a-bcd
  • +a*-bcd
  • abc-d*+
  • abc-+d

  1. 表达式 a(b+c)da*(b+c)*d 的后缀表达式为( ),其中 ++* 是运算符。 {{ select(9) }}
  • **a+bcd
  • abc+* d *
  • abc+d**
  • a+bcd

  1. 表达式 a(b+c)da*(b+c)-d 的后缀表达式为( )。 {{ select(10) }}
  • abc*+d-
  • -+*abcd
  • abcd*+-
  • abc+*d-