#3691. 队列(客观练习 19 题)
队列(客观练习 19 题)
- 在队列中,元素的添加和删除是按照( )原则进行的。
{{ select(1) }}
- 先进先出
- 先进后出
- 最小值先出
- 随机进出
- 循环队列中,队列最大容量为 maxSize,front指向队头,rear指向队尾。判断队列已满的条件是( )。
{{ select(2) }}
- rear == front
- (rear + 1) % maxSize == front
- (rear - 1 + maxSize) % maxSize == front
- (rear - 1) == front
- 在一个循环队列中,front 指向队头元素的位置,rear 指向队尾元素的下一个位置。初始化时,front 和 rear 的值应为( )。
{{ select(3) }}
- 0和0
- 0和1
- 1和0
- 1和1
- 在一个循环队列中,队列的最大容量为 5,采用“空一格判满”的策略。执行下列操作后的结果是( )。 int MAX = 5; int queue[MAX]; int front = 0, rear = 0; enqueue(1); enqueue(2); enqueue(3); enqueue(4); dequeue(); dequeue(); enqueue(5); enqueue(6);
{{ select(4) }}
- 已满,rear = 1
- 未满,rear = 1
- 已满,rear = 2
- 未满,rear = 4
- 以下场景中,最适合使用循环队列的是( )。
{{ select(5) }}
- 函数调用过程中,保存局部变量和返回地址
- 表达式求值中的运算符优先级处理
- 生产者和消费者问题中的共享缓冲区
- 操作系统中的进程优先级调度
- 下面关于循环队列的说法,错误的是( )。
{{ select(6) }}
- 循环队列解决了普通顺序队列的“假溢出”问题
- 循环队列通常牺牲一个存储单元来区分队空和队满
- 循环队列的入队和出队操作时间复杂度均为 O(1)
- 循环队列只能用数组实现,不能用链表实现
- 下列有关栈和队列的描述,错误的是( )。
{{ select(7) }}
- 栈是一种后进先出的线性结构
- 队列是一种先进先出的线性结构
- 栈和队列都可以用链表实现
- 栈和队列的元素进出都是唯一端
- 二叉树的层序遍历算法中,当访问完一个节点后,应将该节点的( )加入队列。
{{ select(8) }}
- 左右孩子
- 只加入左孩子
- 只加入右孩子
- 父节点
- 设循环队列的数组大小为 N,队首指针为 front,队尾指针为 rear,则队列中的元素个数为( )。
{{ select(9) }}
- (rear - front + N) % N
- rear - front
- (front - rear + N) % N
- rear - front + N
- 下列有关栈和队列的应用,对应错误的是( )。
{{ select(10) }}
- 栈—括号匹配
- 队列—BFS
- 栈—表达式求值
- 队列—DFS
- 下列关于 STL 中 queue 容器的说法,正确的是( )。
{{ select(11) }}
- queue 支持随机访问
- queue 的底层默认使用 deque
- queue 只能存储基本类型
- queue 不允许元素的插入和删除
- 下列关于栈和队列的说法,正确的是( )。
{{ select(12) }}
- 栈和队列都是线性结构
- 栈和队列的元素进出都在同一端
- 栈是先进先出,队列是后进先出
- 栈和队列都不允许遍历
- 关于循环队列,下列哪些说法是正确的?( )
{{ multiselect(13) }}
- 循环队列解决了顺序队列的“假溢出”问题
- 循环队列通常使用一个空闲位置来区分队空和队满
- 循环队列的入队和出队操作时间复杂度为 O(1)
- 循环队列只能使用数组实现
- 关于队列的基本操作,下列哪些是正确的?( )
{{ multiselect(14) }}
- enqueue(入队)
- dequeue(出队)
- isEmpty(判空)
- getSize(获取大小)
- 关于栈和队列,下列说法正确的有( )。
{{ multiselect(15) }}
- 栈和队列都是线性表
- 栈和队列都限制了元素的操作位置
- 栈是后进先出的,队列是先进先出的
- 栈和队列都可以用数组实现
- 为了实现一个队列,使其出队操作的时间复杂度为 O(1) 并且避免数组删除首元素的 O(n) 问题,常见有效的方法是使用环形数组。( )
{{ select(16) }}
- 正确
- 错误
- 循环队列中,队空和队满的判断条件可能相同,因此需要牺牲一个存储单元来区分。( )
{{ select(17) }}
- 正确
- 错误
- 栈是一种先进先出(FIFO)的线性数据结构。( )
{{ select(18) }}
- 正确
- 错误
- 队列的入队操作发生在队尾,出队操作发生在队头。( )
{{ select(19) }}
- 正确
- 错误