1) 下列关于栈叙述正确的是
A) 栈底元素永远不能被删除
B) 栈顶元素最先能被删除
C) 栈顶元素最后才能被删除
【解析】栈是“先进后出”的线性结构,栈顶元素最先被删除。
2) 下列叙述中正确的是
A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B) 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
C) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
【解析】栈是“先进后出”的线性结构,当删除或添加元素时,只能在栈顶进行。
3) 某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)
A) 3
B) 4
C) 6
D) 7
【解析】二叉树的度为0的结点比度为2的结点多一个,所以本题中二叉树没有度为2的结点,有六个度为1的结点,深度为七层。
4) 设循环队列存储空间为Q(1:50),初始状态为front=rear=50。经过一系列入队和退队操作后,front=rear=25,则该循环队列中元素个数为
A) 0或50
B) 24
C) 25
D) 26
【解析】在循环队列运转起来后,若rear-front大于零,则目前元素个数为rear-front,若rear-front小于零,则目前元素个数为rear-front+总容量。因此本题为0或50。
5) 下列叙述中正确的是
A) 算法就是程序
B) 设计算法时只需要考虑结果的可靠性
C) 设计算法时要考虑时间复杂度和空间复杂度
D) 设计算法时只需要考虑数据结构的设计
【解析】算法不等于程序,陷入“死循环”的程序也是程序,但不是算法,因为“死循环”不能在有限步骤内结束。算法复杂度包括时间复杂度和空间复杂度。设计算法时不仅要虑数据结构的设计、结果可靠性,而且要考虑确定性、有穷性、可行性、输入、输出、法的控制结构、时间复杂度、空间复杂度等多个方面。
6) 下列叙述中正确的是
A) 双向链表是非线性结构
B) 只有一个根结点的数据结构不一定是线性结构
C) 循环链表是非线性结构
D) 有一个以上根结点的数据结构不一定是非线性结构
【解析】循环链表和双向链表只有一个根节点,都是是线性结构;有一个以上根结点的数 结构一定是非线性结构。
7) 下列关于二叉树的叙述中,正确的是
A) 叶子结点总是比度为2的结点多一个
B) 叶子结点总是比度为2的结点少一个
C) 叶子结点数是度为2的结点数的两倍
D) 度为2的结点数是度为1的结点数的两倍
【解析】二叉树的度为0的结点比度为2的结点多一个,剩下的就是度为1的结点。
8) 下列各组的排序方法中,最坏情况下比较次数相同的是
A) 堆排序与希尔排序
B) 冒泡排序与快速排序
C) 简单插入排序与希尔排序
D) 快速排序与希尔排序
【解析】最坏情况下比较次数,冒泡排序与快速排序都是n(n-1)/2。
9) 下列叙述中正确的是
A) 循环队列是一种逻辑结构
B) 循环队列是队列的一种链式存储结构
C) 循环队列是队列的一种顺序存储结构
D) 循环队列是非线性结构
【解析】队列的存储结构既可以用顺式结构也可以用链式存储结构,循环队列使用顺序存储结构。
10)下列关于线性链表的叙述中,正确的是
A) 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一
致
B) 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连
续
C) 进行插入与删除时,不需要移动表中的元素
【解析】链表由各元素保存下一元素的地址,各元素的逻辑结构和存储结构可以不一致,元素的存储空间不一定连续。
11)一棵二叉树共有25个结点&#x