2018年全国计算机二级考试公共基础知识考点(1)
2018年全国计算机二级考试公共基础知识考点(1) 公共基础知识 1. 算法的有穷性是指算法必须能执行有限个步骤之后终止. 2. 算法的时间复杂度是指算法在执行过程中所需要的基本运算次数 3. 队列、栈、线性表属于线性数据结构,二叉树不属于 4. 数据的存储结构是指: 数据的逻辑结构在计算机中的表示 5. 一个逻辑数据结构可有多种存储结构,且各种存储结构影响数据处理的效率 6. 线性链表是线性表的链式存储结构 7. 栈是先进后出、后进先出的线性链表,具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针,是特殊的线性表,只能在一端插入或者删除元素 8. 线性链表存储空间不一定连续,且各元素的存储顺序是任意的 9. 在深度为7的满二叉树中,叶子节点的个数为: 64 10. 能用二分法查找的是顺序存储的有序线性表 11. 对长度为N 的线性表进行顺序查找,在最坏的情况下需要比较的次数为:N 12. 对于长度为N 的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是: 快速排序为N(N-1)/2 13. 算法的复杂度包括时间复杂度和空间复杂度 14. 算法在执行过程中所需要的存储空间称为算法的空间复杂度 15. 问题处理方案的正确而完整的描述称为算法 16. 数据的逻辑结构在计算机存储控件中的存放方式称为数据的 存储结构或者物理结构或者物理存储结构 17. 按照逻辑结构分类,数据结构可以分为线性结构和非线性结构,二叉树属于 非线性结构 18. 数据结构分为逻辑结构和存储结构,循环队列属于存储结构 19. 某二叉树中度为2的结点有18个,则该二叉树中共有 19个叶子结点 20. 一颗二叉树第六层(根节点为第一层)的结点数最多为32个
计算机二级考试《公共基础》100题
下面仅是公共基础部分的第一章(数据结构)的题的一部分(还有50多道发不上来了)
1、 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
A) 快速排序 B) 冒泡排序 C) 直接插入排序 √D) 堆排序
2、下列关于栈的叙述正确的是
A) 栈按""先进先出""组织数据 √B) 栈按""先进后出""组织数据
C) 只能在栈底插入数据 D) 不能删除数据
3、算法的空间复杂度是指
√A) 算法在执行过程中所需要的计算机存储空间
B) 算法所处理的数据量
C) 算法程序中的语句或指令条数 D) 算法在执行过程中所需要的临时工作单元数
4、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是
A) 10 B) 8 √C) 6 D) 4
5、 算法的有穷性是指
√A) 算法程序的运行时间是有限的 B) 算法程序所处理的数据量是有限的
C) 算法程序的长度是有限的 D) 算法只能被有限的用户使用
6、下列叙述中正确的是
A) 算法复杂度是指算法控制结构的复杂程度
B) 算法复杂度是指设计算法的难度
C) 算法的时间复杂度是指设计算法的工作量
√D) 算法的复杂度包括时间复杂度与空间复杂度
7、下列数据结构中,属于非线性结构的是
A) 循环队列 B) 带链队列 √C) 二叉树 D) 带链栈
8、一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是
A) 12345ABCDE √B) EDCBA54321 C) ABCDE12345 D) 54321EDCBA
9、下列叙述中正确的是
A) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
√D) 循环队列中元素的个数是由队头指针和队尾指针共同决定
10、下列叙述中正确的是
√A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D) 链式存储结构比顺序存储结构节省存储空间
11、对于循环队列,下列叙述中正确的是
A) 队头指针是固定不变的 B) 队头指针一定大于队尾指针
C) 队头指针一定小于队尾指针 √D) 队头指针可以大于队尾指针,也可以小于队尾指针
12、下列排序方法中,最坏情况下比较次数最少的是
A) 冒泡排序 B) 简单选择排序 C) 直接插入排序 √D) 堆排序
13、下列叙述中正确的是
A) 栈是""先进先出""的线性表 B) 队列是""先进后出""的线性表
C) 循环队列是非线性结构 √D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
14、支持子程序调用的数据结构是
√A) 栈 B) 树 C) 队列 D) 二叉树
15、下列数据结构中,能够按照""先进后出""原则存取数据的是
A) 循环队列 √B) 栈 C) 队列 D) 二叉树
16、下列叙述中正确的是
A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
√B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
17、下列叙述中正确的是
A) 栈是一种先进先出的线性表 B) 队列是一种后进先出的线性表
C) 栈与队列都是非线性结构 √D) 栈与队列都是线性结构
18、一棵完全二叉树共有360个结点,则在该二叉树中度为1的结点个数为
A) 0 √B) 1 C) 180 D) 181
19、算法的时间复杂度是指
A) 设计该算法所需的工作量 B) 执行该算法所需要的时间
√C) 执行该算法时所需要的基本运算次数
D) 算法中指令的条数
20、下列关于栈叙述正确的是
√A) 栈顶元素最先能被删除 B) 栈顶元素最后才能被删除
C) 栈底元素永远不能被删除
21、下列叙述中正确的是
A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
√C) 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
22、某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点
在第1层)
A) 3 B) 4 C) 6 √D) 7
23、设循环队列存储空间为Q(1:50),初始状态为front=rear=50。经过一系列入队和退队操作后,front=rear=25,则该循环队列中元素个数为
A) 26 B) 25 C) 24 √D) 0或50
24、下列叙述中正确的是
A) 算法就是程序 B) 设计算法时只需要考虑数据结构的设计C) 设计算法时只需要考虑结果的可靠性√D) 以上三种说法都不对
25、下列叙述中正确的是
A) 有一个以上根结点的数据结构不一定是非线性结构
√B) 只有一个根结点的数据结构不一定是线性结构
C) 循环链表是非线性结构 D) 双向链表是非线性结构
26、下列关于二叉树的叙述中,正确的是
A) 叶子结点总是比度为2的结点少一个
√B) 叶子结点总是比度为2的结点多一个
C) 叶子结点数是度为2的结点数的两倍
D) 度为2的结点数是度为1的结点数的两倍
27、下列各组的排序方法中,最坏情况下比较次数相同的是
√A) 冒泡排序与快速排序 B) 简单插入排序与希尔排序
C) 堆排序与希尔排序 D) 快速排序与希尔排序
28、下列叙述中正确的是
A) 循环队列是队列的一种链式存储结构
√B) 循环队列是队列的一种顺序存储结构
C) 循环队列是非线性结构 D) 循环队列是一种逻辑结构
29、下列关于线性链表的叙述中,正确的是
A) 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B) 各数据结点的'存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
√C) 进行插入与删除时,不需要移动表中的元素
30、一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为
√A) 16 B) 10 C) 6 D) 4
31、设循环队列存储空间为Q(1:50)。初始状态为front=rear=50。经过一系列入队和退队操作后,front=14,rear=19,则该循环队列中的元素个数为
A) 46 B) 45 C) 6 √D) 5
32、下列链表中,其逻辑结构属于非线性结构的是
√A) 二叉链表 B) 循环链表 C) 双向链表 D) 带链的栈
33、设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为
A) 15 B) 16 C) 20 √D) 0或35
34、下列关于栈的叙述中,正确的是
A) 栈底元素一定是最后入栈的元素 B) 栈顶元素一定是最先入栈的元素
√C) 栈操作遵循先进后出的原则
35、设二叉树共有150个结点,其中度为1的结点有10个,则该二叉树中的叶子结点数为
A) 71 B) 70 C) 69 √D) 不可能有这样的二叉树
36、下列叙述中正确的是
√A) 程序执行的效率与数据的存储结构密切相关
B) 程序执行的效率只取决于程序的控制结构
C) 程序执行的效率只取决于所处理的数据量
37、下列与队列结构有关联的是
A) 函数的递归调用 B) 数组元素的引用 C) 多重循环的执行 √D) 先到先服务的作业调度
38、一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是
A) 1,2,3,A,B,C B) C,B,A,1,2,3 √C) C,B,A,3,2,1 D) 1,2,3,C,B,A
39、下列叙述中正确的是
A) 一个算法的空间复杂度大,则其时间复杂度也必定大
B) 一个算法的空间复杂度大,则其时间复杂度必定小
C) 一个算法的时间复杂度大,则其空间复杂度必定小
√D) 算法的时间复杂度与空间复杂度没有直接关系
40、下列叙述中正确的是
√A) 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化
B) 循环队列中的元素个数随队头指针的变化而动态变化
C) 循环队列中的元素个数随队尾指针的变化而动态变化
41、一棵二叉树中,共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为
A) 219 √B) 229 C) 230 D) 231
42、对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为
A) 9 B) 10 √C) 45 D) 90
43、下列叙述中正确的是
A) 算法的效率只与问题的规模有关,而与数据的存储结构无关
√B) 算法的时间复杂度是指执行算法所需要的计算工作量
C) 数据的逻辑结构与存储结构是一一对应的
D) 算法的时间复杂度与空间复杂度一定相关
44、下列叙述中正确的是
A) 线性表链式存储结构的存储空间一般要少于顺序存储结构
B) 线性表链式存储结构与顺序存储结构的存储空间都是连续的
√C) 线性表链式存储结构的存储空间可以是连续的,也可以是不连续的
45、某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)
A) 3 B) 6 C) 8 √D) 12
46、对长度为n的线性表作快速排序,在最坏情况下,比较次数为
A) n B) n-1 C) n(n-1) √D) n(n-1)/2
47、下列叙述中正确的是
A) 有且只有一个根结点的数据结构一定是线性结构
B) 每一个结点最多有一个前件也最多有一个后件的数据结构一定是线性结构
C) 有且只有一个根结点的数据结构一定是非线性结构
√D) 有且只有一个根结点的数据结构可能是线性结构,也可能是非线性结构
48、下列叙述中错误的是
A) 在双向链表中,可以从任何一个结点开始直接遍历到所有结点
B) 在循环链表中,可以从任何一个结点开始直接遍历到所有结点
√C) 在线性单链表中,可以从任何一个结点开始直接遍历到所有结点
D) 在二叉链表中,可以从根结点开始遍历到所有结点
49、某二叉树共有13个结点,其中有4个度为1的结点,则叶子结点数为
√A) 5 B) 4 C) 3 D) 2
50、设栈的顺序存储空间为S(1: 50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为
A) 30 B) 29 √C) 20 D) 19
51、下列叙述中正确的是
A) 栈与队列都只能顺序存储 √B) 循环队列是队列的顺序存储结构
C) 循环链表是循环队列的链式存储结构
52、设某二叉树的前序序列为ABC,中序序列为CBA,则该二叉树的后序序列为
A) BCA √B) CBA C) ABC D) CAB
53、下列排序方法中,最坏情况下时间复杂度最小的是
A) 冒泡排序 B) 快速排序 √C) 堆排序 D) 直接插入排序
54、为了对有序表进行对分查找,则要求有序表
√A) 只能顺序存储 B) 只能链式存储 C) 可以顺序存储也可以链式存储D) 任何存储方式
55、设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为
A) BCA B) CBA √C) ABC D) CAB
56、下列叙述中正确的是
A) 存储空间不连续的所有链表一定是非线性结构
B) 结点中有多个指针域的所有链表一定是非线性结构
C) 能顺序存储的数据结构一定是线性结构
√D) 带链的栈与队列是线性结构
57、算法时间复杂度的度量方法是
A) 算法程序的长度 √B) 执行算法所需要的基本运算次数C) 执行算法所需要的所有运算次数D) 执行算法所需要的时间
58、设循环队列为Q(1: m),初始状态为front=rear=m。现经过一系列的入队与退队运算后,front=rear=1,则该循环队列中的元素个数为
A) 1 B) 2 C) m-1 √D) 0或m
59、在最坏情况下
A) 快速排序的时间复杂度比冒泡排序的时间复杂度要小
B) 快速排序的时间复杂度比希尔排序的时间复杂度要小
√C) 希尔排序的时间复杂度比直接插入排序的时间复杂度要小
D) 快速排序的时间复杂度与希尔排序的时间复杂度是一样的
60、在深度为7的满二叉树中,度为2的结点个数为
A) 64 √B) 63 C) 32 D) 31
61、设栈的顺序存储空间为S(1: m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为
A) 30 B) 20 √C) m-19 D) m-20
62、算法空间复杂度的度量方法是
A) 算法程序的长度 B) 算法所处理的数据量C) 执行算法所需要的工作单元√D) 执行算法所需要的存储空间
63、设循环队列为Q(1: m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=15,rear=20。现要在该循环队列中寻找最大值的元素,最坏情况下需要比较的次数为
√A) 4 B) 6 C) m-5 D) m-6
64、下列叙述中正确的是
A) 循环队列属于队列的链式存储结构B) 双向链表是二叉树的链式存储结构
C) 非线性结构只能采用链式存储结构√D) 有的非线性结构也可以采用顺序存储结构
65、某二叉树中有n个叶子结点,则该二叉树中度为2的结点数为
A) n+1 √B) n-1 C) 2n D) n/2
66、下列叙述中错误的是
A) 算法的时间复杂度与算法所处理数据的存储结构有直接关系
B) 算法的空间复杂度与算法所处理数据的存储结构有直接关系
√C) 算法的时间复杂度与空间复杂度有直接关系
67、设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为
A) 30 B) 29 √C) 20 D) 19
68、某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的深度(根结点在第1层)为
A) 2 B) 3 √C) 4 D) 5
69、下列叙述中正确的是
A) 存储空间连续的数据结构一定是线性结构
B) 存储空间不连续的数据结构一定是非线性结构
C) 没有根结点的非空数据结构一定是线性结构
√D) 具有两个根结点的数据结构一定是非线性结构
70、下列叙述中正确的是
A) 带链队列的存储空间可以不连续,但队头指针必须大于队尾指针
B) 带链队列的存储空间可以不连续,但队头指针必须小于队尾指针
√C) 带链队列的存储空间可以不连续,且队头指针可以大于也可以小于队尾指针
71、设循环队列为Q(1:m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=20,rear=15。现要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为
A) 5 B) 6 C) m-5 √D) m-6
72、某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的后序序列为
A) EFGDCBA B) DCBEFGA C) BCDGFEA √D) DCBGFEA
73、下列叙述中正确的是
A) 在链表中,如果每个结点有两个指针域,则该链表一定是非线性结构
√B) 在链表中,如果有两个结点的同一个指针域的值相等,则该链表一定是非线性结构
C) 在链表中,如果每个结点有两个指针域,则该链表一定是线性结构
D) 在链表中,如果有两个结点的同一个指针域的值相等,则该链表一定是线性结构
74、下列叙述中错误的是
A) 在带链队列中,队头指针和队尾指针都是在动态变化的
√B) 在带链栈中,栈顶指针和栈底指针都是在动态变化的
C) 在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的
75、设数据元素的集合D={ 1,2,3,4,5 },则满足下列关系R的数据结构中为线性结构的是
A) R={ (1,2), (3,4), (5,1) } √B) R={ (1,3), (4,1), (3,2), (5,4) }
C) R={ (1,2), (2,3), (4,5) } D) R={ (1,3), (2,4), (3,5) }
76、下列叙述中正确的是
√A) 链表结点中具有两个指针域的数据结构可以是线性结构,也可以是非线性结构
B) 线性表的链式存储结构中,每个结点必须有指向前件和指向后件的两个指针
C) 线性表的链式存储结构中,每个结点只能有一个指向后件的指针
D) 线性表的链式存储结构中,叶子结点的指针只能是空
77、一个栈的初始状态为空,现将元素A,B,C,D,E依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。则元素退队的顺序为
A) ABC B) CBA √C) EDC D) CDE
78、某二叉树的中序序列为DCBAEFG,后序序列为DCBGFEA,则该二叉树的深度(根结点在第1层)为
A) 5 √B) 4 C) 3 D) 2
79、下列叙述中正确的是
A) 所谓算法就是计算方法 √B) 程序可以作为算法的一种描述方法
C) 算法设计只需考虑得到计算结果 D) 算法设计可以忽略算法的运算时间
80、下列各序列中不是堆的是
A) (91,85,53,36,47,30,24,12) B) (91,85,53,47,36,30,24,12)
√C) (47,91,53,85,30,12,24,36) D) (91,85,53,47,30,12,24,36)
81、深度为5的完全二叉树的结点数不可能是
√A) 15 B) 16 C) 17 D) 18
82、下列叙述中正确的是
√A) 循环队列是顺序存储结构 B) 循环队列是链式存储结构
C) 循环队列是非线性结构 D) 循环队列的插入运算不会发生溢出现象
83、下列叙述中正确的是
A) 所有数据结构必须有根结点 B) 所有数据结构必须有终端结点(即叶子结点)
C) 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构
√D) 没有根结点或没有叶子结点的数据结构一定是非线性结构
84、下列关于算法的描述中错误的是
A) 算法强调动态的执行过程,不同于静态的计算公式
B) 算法必须能在有限个步骤之后终止
C) 算法设计必须考虑算法的复杂度 √D) 算法的优劣取决于运行算法程序的环境
85、线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有
A) 节省存储空间 √B) 插入与删除运算效率高C) 便于查找 D) 排序时减少元素的比较次数
86、深度为7的完全二叉树中,共有125个结点,则该完全二叉树中的叶子结点数为
A) 62 √B) 63 C) 64 D) 65
87、下列叙述中正确的是
A) 所谓有序表是指在顺序存储空间内连续存放的元素序列
B) 有序表只能顺序存储在连续的存储空间内
√C) 有序表可以用链接存储方式存储在不连续的存储空间内
D) 任何存储方式的有序表均能采用二分法进行查找
88、下列叙述中正确的是
A) 结点中具有两个指针域的链表一定是二叉链表
√B) 结点中具有两个指针域的链表可以是线性结构,也可以是非线性结构
C) 二叉树只能采用链式存储结构 D) 循环链表是非线性结构
89、设某二叉树中,共有140个结点,其中有40个度为1的结点。则
A) 该二叉树中有51个叶子结点 B) 该二叉树中有50个叶子结点
C) 该二叉树中有51个度为2的结点 D) 该二叉树中有50个度为2的结点
√E) 不可能有这样的二叉树
90、带链的栈与顺序存储的栈相比,其优点是
A) 入栈与退栈操作方便 B) 可以省略栈底指针
√C) 入栈操作时不会受栈存储空间的限制而发生溢出
91、某二叉树的前序序列为ABCD,中序序列为DCBA,则后序序列为
A) BADC √B) DCBA C) CDAB D) ABCD
92、下列关于算法复杂度叙述正确的是
A) 最坏情况下的时间复杂度一定高于平均情况的时间复杂度
√B) 时间复杂度与所用的计算工具无关
C) 对同一个问题,采用不同的算法,则它们的时间复杂度是相同的
D) 时间复杂度与采用的算法描述语言有关
93、设有栈S和队列Q,初始状态均为空。首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为
A) DEFXYZABC √B) FEDZYXCBA C) FEDXYZCBA D) DEFZYXABC
94、下列叙述中正确的是
A) 有两个指针域的链表称为二叉链表B) 循环链表是循环队列的链式存储结构
C) 带链的栈有栈顶指针和栈底指针,因此又称为双重链表
√D) 结点中具有多个指针域的链表称为多重链表
95、某二叉树共有845个结点,其中叶子结点有45个,则度为1的结点数为
A) 400 B) 754 √C) 756 D) 不确定
96、设数据集合为D={ 1,3,5,7,9 },D上的关系为R,下列数据结构B=(D,R)中为非线性结构的是
A) R={ (5,1), (7,9), (1,7), (9,3) }
B) R={ (9,7), (1,3), (7,1), (3,5) }
C) R={ (1,9), (9,7), (7,5), (5,3) }
√D) R={ (1,3), (3,5), (5,9) }
97、深度为7的二叉树共有127个结点,则下列说法中错误的是
√A) 该二叉树有一个度为1的结点 B) 该二叉树是满二叉树
C) 该二叉树是完全二叉树 D) 该二叉树有64个叶子结点
98、下列叙述中正确的是
A) 非线性结构只能采用链式存储结构B) 非线性结构只能用多重链表表示
C) 所有数据结构既可以采用顺序存储结构,也可以采用链式存储结构
√D) 有的非线性结构也能采用顺序存储结构
99、某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为
A) DCBA B) BDCA √C) ABCD D) BADC
100、某完全二叉树共有256个结点,则该完全二叉树的深度为
A) 7 B) 8 √C) 9 D) 10