好紧张啊!只有七天啦!怎么办??
以下是小编整理的最新的公共基础的最常考的50个题,看看吧,十分哦!
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个结点,其中5个是叶子结点,则度为1的结点数为
A) 10
B) 16
C) 4
D) 6
【解析】二叉树的度为0的结点比度为2的结点多一个,所以本题中二叉树有4个度为2的结点,16个度为1的结点。
12)设循环队列存储空间为Q(1:50)。初始状态为front=rear=50。经过一系列入队和退队操作后,front=14,rear=19,则该循环队列中的元素个数为
A) 45
B) 46
C) 5
D) 6
【解析】在循环队列运转起来后,若rear-front大于零,则目前元素个数为rear-front,
若rear-front小于零,则目前元素个数为rear-front 总容量。因此本题中元素个数为19-14=5个。
13)下列链表中,其逻辑结构属于非线性结构的是
A) 二叉链表
B) 双向链表
C) 带链的栈
D) 循环链表
【解析】二叉树有明显的层次,属于非线性结构。
14)设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为
A) 0或35
B) 15
C) 16
D) 20
【解析】在循环队列运转起来后,若rear-front大于零,则目前元素个数为rear-front,
若rear-front小于零,则目前元素个数为rear-front 总容量。因此本题中元素个数为0或35个。
15)下列关于栈的叙述中,正确的是
A) 栈底元素一定是最后入栈的元素
B) 栈操作遵循先进后出的原则
C) 栈顶元素一定是最先入栈的元素
【解析】栈是“先进后出”的线性结构,栈底元素最先入栈,栈顶元素最后入栈。
16)设二叉树共有150个结点,其中度为1的结点有10个,则该二叉树中的叶子结点数为
A) 69
B) 70
C) 71
D) 不可能有这样的二叉树
【解析】二叉树的度为0的结点比度为2的结点多一个,它们的和与度为1的结点都应为奇数,而本题中度为1的结点有偶数个,所以是不可能的。
17)下列叙述中正确的是
A) 程序执行的效率与数据的存储结构密切相关
B) 程序执行的效率只取决于所处理的数据量
C) 程序执行的效率只取决于程序的控制结构
【解析】程序的执行效率与数据的逻辑结构和存储结构以及算法的选择都密切相关。
18)下列与队列结构有关联的是
A) 先到先服务的作业调度
B) 函数的递归调用
C) 多重循环的执行
D) 数组元素的引用
【解析】队列结构是“先进先出”的线性结构。
19)一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是
A) 1,2,3,A,B,C
B) 1,2,3,C,B,A
C) C,B,A,1,2,3
D) C,B,A,3,2,1
【解析】栈是“先进后出”的线性结构,所以出栈顺序为C,B,A,3,2,1。
20)下列叙述中正确的是
A) 一个算法的时间复杂度大,则其空间复杂度必定小
B) 一个算法的空间复杂度大,则其时间复杂度也必定大
C) 一个算法的空间复杂度大,则其时间复杂度必定小
D) 算法的时间复杂度与空间复杂度没有直接关系
【解析】算法的空间复杂度指执行算法所需要的存储空间,时间复杂度指执行算法所需要的计算量,两者并无直接关系。
21)下列叙述中正确的是
A) 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化
B) 循环队列中的元素个数随队头指针的变化而动态变化
C) 循环队列中的元素个数随队尾指针的变化而动态变化
【解析】在循环队列运转起来后,若rear-front大于零,则目前元素个数为rear-front,
若rear-front小于零,则目前元素个数为rear-front 总容量。即元素个数随队头与队尾指针变化而动态变化。
22)一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为
A) 219
B) 229
C) 230
D) 231
【解析】二叉树的度为0的结点比度为2的结点多一个,剩下的就是度为1的结点。本题中2度的结点有79个,共79 80 70=229个结点。
23)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为
A) 10
B) 45
C) 9
D) 90
【解析】冒泡排序法最坏情况比较次数为n(n-1)/2,即45次。
24)下列叙述中正确的是
A) 数据的逻辑结构与存储结构是一一对应的
B) 算法的效率只与问题的规模有关,而与数据的存储结构无关
C) 算法的时间复杂度与空间复杂度一定相关
D) 算法的时间复杂度是指执行算法所需要的计算工作量
【解析】算法的空间复杂度指执行算法所需要的存储空间,时间复杂度指执行算法所需要的计算量,两者并无直接关系。算法的效率与数据的逻辑结构和存储结构密切相关。
25)下列叙述中正确的是
A) 线性表链式存储结构与顺序存储结构的存储空间都是连续的
B) 线性表链式存储结构的存储空间一般要少于顺序存储结构
C) 线性表链式存储结构的存储空间可以是连续的,也可以是不连续的
【解析】链表由各元素保存下一元素的地址,各元素的逻辑结构和存储结构可以不一致,各元素的存储空间不一定连续。
26)某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)
A) 12
B) 3
C) 6
D) 8
【解析】二叉树的度为0的结点比度为2的结点多一个,所以本题中二叉树没有度为2的结点,有11个度为1的结点,深度为12层。
27)对长度为n的线性表作快速排序,在最坏情况下,比较次数为
A) n
B) n(n-1)
C) n(n-1)/2
D) n-1
【解析】快速排序法最坏情况比较次数为n(n-1)/2。
28)下列叙述中正确的是
A) 有且只有一个根结点的数据结构一定是线性结构
B) 有且只有一个根结点的数据结构一定是非线性结构
C) 有且只有一个根结点的数据结构可能是线性结构,也可能是非线性结构
D) 每一个结点最多有一个前件也最多有一个后件的数据结构一定是线性结构
【解析】有一个以上根结点的数据结构一定是非线性结构。有且仅有一个根结点不一定是非线性结构。
29)下列叙述中错误的是
A) 在二叉链表中,可以从根结点开始遍历到所有结点
B) 在双向链表中,可以从任何一个结点开始直接遍历到所有结点
C) 在循环链表中,可以从任何一个结点开始直接遍历到所有结点
D) 在线性单链表中,可以从任何一个结点开始直接遍历到所有结点
【解析】双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点,可从一个结点开始遍历所有结点。单向链表只能从一个结点开始到其后的结点,循环链表相当于把单链表首尾相接,可遍历到所有结点。
30)某二叉树共有13个结点,其中有4个度为1的结点,则叶子结点数为
A) 2
B) 3
C) 4
D) 5
【解析】二叉树的度为0的结点比度为2的结点多一个,所以本题中二叉树度为2的结点与叶子结点分别为4和5个。
31)设栈的顺序存储空间为S(1: 50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为
A) 19
B) 20
C) 29
D) 30
【解析】栈是“先进后出”的线性结构,此栈是向下增长的,每次增加一个元素,栈的TOP指针向下移动一位,TOP指针指向0 20 =20,即栈中数据元素个数为20。
32)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
A) 冒泡排序
B) 堆排序
C) 快速排序
D) 直接插入排序
【解析】堆排序最坏情况下比较次数为n*log2(n),其他三个选项均为n(n-1)/2,因此选堆排序。
33)下列关于栈的叙述正确的是
A) 不能删除数据
B) 只能在栈底插入数据
C) 栈按"先进先出"组织数据
D) 栈按"先进后出"组织数据
【解析】栈按“先进后出”组织数据,只能在栈顶插入数据,可以删除栈顶的数据。
34)算法的空间复杂度是指
A) 算法在执行过程中所需要的临时工作单元数
B) 算法在执行过程中所需要的计算机存储空间
C) 算法所处理的数据量
D) 算法程序中的语句或指令条数
【解析】空间复杂度指执行算法所需要的存储空间,包括算法程序所占的空间、输入的初始数据所占的空间以及算法执行过程中所需要的额外空间。
35)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是
A) 10
B) 4
C) 6
D) 8
【解析】二叉树的重要性质:度为0的结点总是比度为2的结点多1个。题目中有5个度为2的结点,因此有6个叶子结点。
36)算法的有穷性是指
A) 算法只能被有限的用户使用
B) 算法程序所处理的数据量是有限的
C) 算法程序的运行时间是有限的
D) 算法程序的长度是有限的
【解析】有穷性指算法在有限的步骤一定会结束。算法与程序的区别在于:程序可以陷入“死循环”,算法必须在有限时间内结束。
37)下列叙述中正确的是
A) 算法复杂度是指算法控制结构的复杂程度
B) 算法复杂度是指设计算法的难度
C) 算法的复杂度包括时间复杂度与空间复杂度
D) 算法的时间复杂度是指设计算法的工作量
【解析】算法的复杂度包括时间复杂度和空间复杂度。时间复杂度是算法执行过程中所需要的基本运算次数,空间复杂度是执行程序所需要的存储空间。
38)下列数据结构中,属于非线性结构的是
A) 二叉树
B) 带链栈
C) 带链队列
D) 循环队列
【解析】树有明显的层次特性,是一对多的关系,属于非线性结构。
39)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次
入栈,然后再依次出栈,则元素出栈的顺序是
A) 12345ABCDE
B) 54321EDCBA
C) ABCDE12345
D) EDCBA54321
【解析】栈为“先进后出”,出栈与进栈顺序相反,为EDCBA54321
40)下列叙述中正确的是
A) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
B) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
C) 循环队列中元素的个数是由队头指针和队尾指针共同决定
D) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
【解析】循环队列是队列的一种存储结构,队列为线性结构。循环队列需要通过rear和front两个指针来反映队列的状态。循环队列运行起来后循环队列目前的元素个数用rear-front求得,若结果为负,加数组总容量即可。
41)下列叙述中正确的是
A) 链式存储结构比顺序存储结构节省存储空间
B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连
续的
D) 顺序存储结构能存储有序表,链式存储结构不能存储有序表
【解析】顺序存储(数组)、链式存储(链表)是数据结构的两种存储方式,无论线性结构还是非线性结构,都既可用数组存储,也可用链表存储。例如二叉树是非线性结构,如果是完全二叉树也可用数组来存储。顺序结构的存储由于是数组,各空间只能是连续的;链式结构的存储空间既可以是连续的也可以是不连续的。顺序结构和链式结构都可以存储有序表(即排序后的数据)。链式结构除要保存数据外,还要保存指针;而顺序结构只保存数据即可,故顺序结构更节省存储空间。
42)对于循环队列,下列叙述中正确的是
A) 队头指针一定大于队尾指针
B) 队头指针一定小于队尾指针
C) 队头指针可以大于队尾指针,也可以小于队尾指针
D) 队头指针是固定不变的
【解析】循环队列运行起来后,rear 和front的大小不一定。循环队列目前的元素个数用rear-front求得,若结果为负,加数组总容量即可。
43)下列排序方法中,最坏情况下比较次数最少的是
A) 冒泡排序
B) 堆排序
C) 直接插入排序
D) 简单选择排序
【解析】堆排序最坏情况下比较次数为n*log2(n),其他三个选项均为n(n-1)/2,因此选堆排序。
44)下列叙述中正确的是
A) 循环队列是非线性结构
B) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
C) 栈是“先进先出”的线性表
D) 队列是“先进后出”的线性表
【解析】栈按“先进后出”组织数据,队列是先进先出,循环队列是线性结构。有序线性表既可以顺序存储也可以链式存储。
45)支持子程序调用的数据结构是
A) 二叉树
B) 栈
C) 树
D) 队列
【解析】堆栈支持调用子程序、调用函数、转换与计算表达式等。
46)下列数据结构中,能够按照“先进后出”原则存取数据的是
A) 二叉树
B) 循环队列
C) 栈
D) 队列
【解析】栈按“先进后出”组织数据,队列是“先进先出”,树是非线性结构。
47)下列叙述中正确的是
A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
【解析】顺序存储只需存储数据,链式存储还需存储相邻结点的地址。因此链式存储结构所需要的空间更多。
48)下列叙述中正确的是
A) 栈与队列都是线性结构
B) 栈与队列都是非线性结构
C) 栈是一种先进先出的线性表
D) 队列是一种后进先出的线性表
【解析】栈是“先进后出”的线性结构,队列是“先进先出”的线性结构。
49)一棵完全二叉树共有360个结点,则在该二叉树中度为1的结点个数为
A) 0
B) 1
C) 180
D) 181
【解析】二叉树的度为0的结点比度为2的结点多一个,剩下的就是度为1的结点。而完全二叉树度为1的结点只可能有0个或1个。因此度为1的结点有1个。
50)算法的时间复杂度是指
A) 执行该算法所需要的时间
B) 执行该算法时所需要的基本运算次数
C) 算法中指令的条数
D) 设计该算法所需的工作量
【解析】算法时间复杂度指执行算法所需要的计算量,是基本运算次数。
,