1.算法的有穷性是指( )。
A)算法程序的长度是有限的
B)算法只能被有限的用户使用
C)算法程序的运行时间是有限的
D)算法程序所能处理的数据量是有限的
2.算法空间复杂度是指( )。
A)算法所处理的数据量
B)算法程序的代码指令条数
C)算法在执行过程中所需要的内存空间
D)算法在执行过程中需要的临时工作单元数
3.下列说法正确的是( )。
A)算法就是程序
B)设计算法只需要考虑数据结构的设计
C)设计算法只要考虑结果的可靠性
D)以上说法都不对
4.算法的时间复杂度和空间复杂度的关系是( )。
A)时间复杂度大则空间复杂度也大
B)时间复杂度大则空间复杂度小
C)时间复杂度和空间复杂度都与问题规模无关
D)两者没有直接关系
5.算法的一条指令对应几个操作?( )
A)一个 B)多个
C)一个或多个 D)指令和操作没有关系
6.算法的基本特征不包含下列哪项?( )
A)有穷性 B)确定性
C)可行性 D)高效性
7.一般计算机系统指令系统包含的四类基本运算是( )。
A)算术运算、关系运算、逻辑运算、数据传输
B)算术运算、关系运算、逻辑运算、数据保存
C)算术运算、逻辑运算、算法控制、数据传输
D)算术运算、逻辑运算、算法输入、算法输出
8.算法的控制结构不包括( )。
A)顺序结构 B)选择结构
C)循环结构 D)归纳结构
9.支持子程序调用的数据结构是( )。
A)栈 B)树 C)队列 D)二叉树
10.数据的存储结构是指( )。
A)存储在外存中的数据
B)数据所占的存储空间量
C)数据在计算中的顺序存储方式
D)数据的逻辑结构在计算机中的表示
11.数据结构是( )。
A)数据元素的集合
B)反映数据元素之间关系的数据元素的集合
C)数据元素的存储方式
D)数据元素在计算中的表示方式
12.下列叙述中正确的是( )。
A)有一个以上的根节点的数据结构不一定是非线性结构
B)只有一个根节点的数据结构不一定是线性结构
D)双向链表是非线性结构
13.一个栈的初始状态是空,现在A、B、C、1、2、3依次入栈,然后依次退栈,那么退栈顺序是( )。
A)ABC123 B)123ABC C)321CBA D)CBA321
14.下列关于栈的说法错误的是( )。
A)栈是线性表的一种
B)栈是“先进后出”
C)栈的两端都可以插入和删除
D)读取栈顶不是退栈
15.下列的叙述正确的是( )。
B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D)在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化
16.下列关于栈的描述中错误的是( )。
A)栈是“先进后出”的线性表
B)栈只能顺序存储
C)栈具有记忆作用
D)对栈的插入与删除操作中,不需要改变栈底指针
17.下列属于非线性结构的是( )。
A)栈 B)队列 C)链表 D)树
18.下列关于线性表的顺序存储结构描述错误的是( )。
A)所有元素所占的存储空间必须是连续的
B)所有元素在存储空间的位置是按逻辑顺序存放的
C)只要确定了首地址,线性表中的所有元素的地址都可以方便地查找出来
D)所有元素都有一个指针指向后继节点
19.下列关于线性表的插入、删除操作描述错误的是( )。
A)当在线性表的尾部插入一个数据时,不需要移动线性表中的元素
B)当在线性表的头部插入一个数据时,需要移动表中的所有元素
C)当删除线性表尾部的元素时,不需要移动线性表中的元素
D)当删除线性表头部的元素时,不需要移动线性表中的元素
20.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。
A)循环队列 B)栈
C)队列 D)二叉树
21.对于循环队列,下列叙述正确的是( )。
A)循环队列有队头和队尾两个指针,因此循环队列是非线性结构
B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D)循环队列中元素的个数由队头指针和队尾指针共同决定
22.对于循环队列,下列叙述正确的是( )。
A)队头指针是固定不变的
B)队头指针一定大于队尾指针
C)队头指针一定小于队尾指针
D)队头指针既可以小于队尾指针,也可以大于队尾指针
23.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现在经过一系列入队和退队操作后,front=rear=15,则此时循环队列中元素个数为( )。
A)1 B)15 C)20 D)0或者35
24.下列数据结构按照“先进先出”原则的是( )。
A)栈 B)队列
C)树 D)二叉树
25.下列与队列结构有关的是( )。
C)多重循环的执行 D)先到先服务的作业调度
26.下列关于线性链表叙述中正确的是( )。
A)各数据节点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B)各数据节点的存储顺序与逻辑顺序不一致,但它们的存储顺序必须连续
C)进行插入与删除时,不需要移动表中的元素
D)以上都不正确
27.下列叙述正确的是( )。
A)循环队列是队列的一种链式存储结构
B)循环队列是队列的一种顺序存储结构
C)循环队列是非线性结构
D)循环队列是一种逻辑结构
28.下列叙述正确的是( )。
A)顺序存储结构的存储空间一定是连续的,链式存储结构的存储空间不一定是连续的
B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C)顺序存储结构能存储有序表,链式存储结构不能存储有序表
D)链式存储结构比顺序存储结构节省存储空间
29.下列数据结构中属于非线性结构的是( )。
A)循环队列 B)带链队列
C)二叉树 D)带链栈
30.下列叙述中正确的是( )。
A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B)线性表的链式存储结构所需要的存储结构一般多于顺序存储结构
C)线性表的链式存储结构所需要的存储空间一般少于顺序存储结构
D)线性表的链式存储结构所需要的存储空间与顺序存储结构没有任何关系
31.下面叙述中正确的是( )。
A)循环队列属于队列的链式存储结构
B)双向链表是二叉树的链式存储结构
C)非线性结构只能采用链式存储结构
D)有的非线性结构也可以采用顺序存储结构
32.下列链表中,其逻辑结构属于非线性结构的是( )。
A)二叉链表 B)循环链表
C)双向链表 D)带链的栈
33.下列关于线性表和链表的比较,叙述错误的是( )。
A)顺序表随机存取表中的任意节点,无须额外的指针域
B)顺序表插入和删除运算效率低;存储空间不便扩充;不能动态分配存储空间
C)链表的插入和删除运算不需要移动元素;存储空间易于扩充且可动态分配
D)链表的存储密度和顺序表一样
34.某系统总体结构图如下图所示:
该系统的深度是( )。
A)6 B)2 C)3 D)2
35.下列关于二叉树的叙述中正确的是( )。
A)叶子节点总是比度为2的节点少一个
B)叶子节点总是比度为2的节点多一个
C)叶子节点数是度为2的节点数的2倍
D)度为2的节点数是度为1的节点数的2倍
36.下列数据结构哪个是非线性结构?( )
A)栈 B)队列 C)二叉树 D)链表
37.某二叉树度为2的节点数是n,那么度为0的节点数是( )。
A)n B)n+1 C)n-1 D)2n
38.某二叉树有5个度为2的节点,则该二叉树的叶子节点数是( )。
A)10 B)8 C)6 D)4
39.一棵二叉树共有25个节点,其中5个是叶子节点,那么度为1的节点数是( )。
A)16 B)10 C)6 D)4
40.某二叉树共有7个节点,其中叶子节点只有1个,则该二叉树的深度为( )。
A)3 B)4 C)6 D)7
41.某二叉树有10个度为2的节点,那么该二叉树叶子节点数是( )。
A)10 B)11 C)20 D)不确定
42.某二叉树有30个度为2的节点,40个度为1的节点,那么这个二叉树总的节点数是( )。
A)70 B)130 C)101 D)99
43.设树T的深度是4,其中度为1,2,3,4的节点是分别为4,2,1,1。则T中的叶子节点数是( )。
A)5 B)6 C)7 D)8
44.下列关于树的说法中,正确的是( )。
A)每个节点可以有多于一个父节点
B)树可以有多个根节点
C)满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树
D)只有根节点的不是树
45.下列关于二叉树叙述正确的是( )。
A)二叉树至少有一个节点
B)二叉树可以为空
C)二叉树的左右子树顺序可以颠倒
D)二叉树的左右子树可以相交
46.下列关于二叉树性质说法错误的是( )。
A)一个非空二叉树的第k层上最多有2k-1个节点
B)深度为m的满二叉树中有2m-1个节点
C)对于任何一个二叉树,度为0的节点数总是比度为2的节点数多1个
D)深度为m的完全二叉树节点个数肯定小于2m-1
47.下列关于二叉树描述错误的是( )。
A)具有n个节点的二叉树的深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分
B)具有n个节点的完全二叉树的深度是[log2n]+1
C)具有n个节点的满二叉树的深度是[log2n]
D)一个二叉树有8个节点,那么其深度至少为4,至多为8
48.二叉树的遍历不包括( )。
A)前序遍历 B)中序遍历
C)倒序遍历 D)后序遍历
49.如下二叉树:
那么它的前序遍历结果是( )。
A)ABDCE B)ACBED C)BDAEC D)DBECA
50.上题中二叉树的后序遍历结果是( )。
A)EDCBA B)ABDEC C)CDADB D)DBECA
51.一个二叉树的前序遍历结果是ACFEKDBHJI,中序遍历结果是FCKEABDHJI,那么后序遍历结果是( )。
A)IJHBDKEFCA B)FKECBIJHDA
C)EKCFIJHDBA D)ABDHJIFCKE
52.下列关于二叉树遍历的叙述中错误的是( )。
A)已知二叉树的前序遍历结果和中序遍历结果,则可以唯一确定这个二叉树
B)已知二叉树的后序遍历结果和中序遍历结果,则可以唯一确定这个二叉树
C)已知二叉树的前序遍历结果和后序遍历结果,则可以唯一确定这个二叉树
D)已知二叉树的前序遍历结果和后序遍历结果,不可以唯一确定这个二叉树
53.二叉树的遍历用到的算法思想是( )。
A)分治 B)回溯 C)贪心 D)动态规划
54.下列关于时间复杂度说法错误的是( )。
A)时间复杂度是指执行算法所需要的计算工作量,它是问题规模的函数
B)时间复杂度一般采用O(n)表示,其中n是问题规模(www.xing528.com)
C)时间复杂度O(1),表示该算法只需进行1次运算
D)时间复杂度一般用n的最高项表示,忽略低阶项、常数项和最高项前面的系数
55.下列关于顺序查找描述错误的是( )。
A)在最好情况下,查找次数是1
B)在最坏情况下,查找次数是n
C)平均情况下,查找次数是n/2
D)查找的时间复杂度是O(1)
56.下列叙述正确的是( )。
A)采用链式存储的有序表可以用二分法查找
B)二分法的时机复杂度是O(log10n)
C)顺序存储的线性表,可以用二分法查找
D)只有顺序存储的有序表才能用二分法查找
57.下列关于排序的说法错误的是( )。
A)排序是指将一个无序序列整理成按值递增的顺序排列的有序序列的过程
B)交换类排序主要包括冒泡排序和快速排序
C)插入类排序主要包括简单插入和希尔排序
D)选择类排序包括简单排序和堆排序
58.下列关于交换类排序叙述错误的是( )。
A)冒泡排序是通过两两相邻元素之间比较和交换,不断消除逆序,直到所有元素有序
B)快速排序是在线性表中逐个选取元素,对表进行分割,直到所有的元素全部选取完毕
C)冒泡排序平均时间复杂度是O(n2),最坏情况下时间复杂度是O(n2)
D)快速排序平均时间复杂度是O(log2n),最坏情况下时间复杂度是O(n2)
59.在长度为n的有序线性表中进行二分法查找,最坏情况下需要比较的次数是( )。
A)O(n) B)O(n2)
C)O(log2n) D)O(nlog2n)
60.冒泡排序在最坏的情况下的比较次数是( )。
A)n B)(n-1)n/2
C)nlog2n D)n/2
61.对长度为8的线性表进行冒泡排序,最坏情况下的比较次数是( )。
A)36 B)28
C)8 D)64
62.对于长度为n的线性表,在最坏情况下,下列各排序算法所对应的比较次数正确的是( )。
A)冒泡排序是n B)冒泡排序是log2n
C)快速排序是n(n-1)/2 D)快速排序是n
63.对长度为n的线性表做快速排序,在平均情况下时间复杂度是( )。
A)O(n2) B)O(n)
C)O(log2n) D)O(nlog2n)
64.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。
A)冒泡排序 B)快速排序
C)简单插入排序 D)堆排序
65.下列排序方法中,最坏情况下比较次数最少的是( )。
A)冒泡排序 B)快速排序
C)简单插入排序 D)堆排序
66.下列数据结构不能用顺序存储的是( )。
A)栈 B)队列
C)非完全二叉树 D)堆
67.一个二叉树的总节点是218个,其中度为2的节点是100个,则度为1的节点数是( )。
A)17 B)19
B)18 D)不存在这样的二叉树
68.判定“带头节点的链队列为空”的条件是( )。
A)Q.front==NULL B)Q.rear==NULL
C)Q.front==Q.rear D)Q.front!==Q.rear
69.设二叉树共有500个节点,其中叶子节点有250个,那么度为2的节点有( )个。
A)1 B)0
C)249 D)没有这样的二叉树
70.用链表表示线性表的突出特点是( )。
A)节省存储空间 B)查找速度快
C)插入和删除不必移动数据 D)以上都不对
71.冒泡排序在最好情况下需要交换的次数是( )。
A)1 B)0 C)n D)n/2
72.下列二叉树的后序遍历结果是( )。
A)ABCDEF B)BDAECF
C)ABDCEF D)DBEFCA
73.下列对线性链表的描述中正确的是( )。
A)存储空间不一定是连续,且各元素的存储顺序是任意的
B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C)存储空间必须连续,且前件元素一定存储在后件元素的前面
D)存储空间必须连续,且各元素的存储顺序是任意的
74.线性表若采用链式存储结构时,要求内存中可用的存储单元地址( )。
A)必须是连续的 B)一定不是连续的
C)部分是连续的 D)可以是连续的,也可以是不连续的
75.在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。
A)插入排序 B)选择排序
C)快速排序 D)归并排序
76.栈和队列的共同点是( )。
A)都是“先进先出”
B)都是“后进先出”
C)都只允许在端点处插入和删除元素
D)没有共同点
77.某二叉树的前序遍历是cedba,中序遍历结果是debac,那么它的后序遍历结果是( )。
A)abcde B)dabec
C)decab D)cedba
78.算法的时间复杂度是指( )。
A)执行算法程序所需要的时间
B)算法程序的长度
C)算法执行过程中所需要的基本运算次数
D)算法程序中的指令条数
79.树是节点的集合,它的根节点数目是( )。
A)有且只有1 B)1或多于1
C)0或1 D)至少2
80.入栈序列是ABCD,则出栈顺序可能是( )。
A)DCBA B)ABCD
C)BADC D)都有可能
81.链表不具有的特点是( )。
A)不必事先估计存储空间
B)可随机访问任一元素
C)插入或删除不需要移动元素
D)所需空间与线性表长度成正比
82.希尔排序属于( )。
A)交换排序 B)选择排序
C)归并排序 D)插入排序
83.下列结构属于线性结构链式存储的是( )。
A)双向链表 B)循环队列
C)二叉链表 D)二维数组
84.某棵树的度是3,其中度为2、1、0的节点个数分别是3、4、15。则该树的总节点数为( )。
A)25 B)28
C)30 D)不可能有这样的树
85.在长度为100的顺序有序表中用二分法查找,最多需要比较( )次。
A)6 B)7 C)8 D)9
86.下列叙述错误的是( )。
A)循环链表中有一个表头节点
B)循环链表的存储空间是连续的
C)循环链表实现了空表与非空表运算的统一
D)循环链表的表头指针与循环链表中最后一个节点的指针均指向表头节点
87.下列结构中属于非线性结构的是( )。
A)二维数组 B)栈
C)循环队列 D)双向链表
88.下列叙述正确的是( )。
A)程序的执行效率和数据存储结构密切相关
B)程序的执行效率只取决于程序的控制结构
C)程序的执行效率只取决于处理的数据量
D)以上说法都不对
89.在希尔排序中,每经过一次数据交换后( )。
A)能消除多个逆序
B)只能消除一个逆序
C)不会产生新逆序
D)消除的逆序个数一定比新产生的逆序个数多
90.下列叙述中错误的是( )。
A)向量是线性结构
B)非空线性结构中只有一个节点没有前件
C)非空线性结构中只有一个节点没有后件
D)只有一个根节点和一个叶子节点的结构必定是线性结构
91.下列叙述中正确的是( )。
A)循环队列是队列的链式存储结构
B)能采用顺序存储的必定是线性结构
C)所有的线性结构都可以采用顺序存储结构
D)具有两个指针的链表必定是非线性结构
92.设循环队列的存储空间是Q(1:20),初始状态为front=rear=20,经过一系列正常的操作后,front-1=rear,为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数是( )。
A)0 B)1 C)18 D)19
93.设顺序表的长度是40,对该表进行冒泡排序。在最坏情况下需要的比较次数是( )。
A)780 B)820
C)40 D)41
94.设表的长度是n,在下列算法中,最坏情况下时间复杂度最高的是( )。
A)堆排序 B)希尔排序
C)有序链表查找 D)循环链表中寻找最大项
95.已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是( )。
A)堆排序 B)直接插入排序
C)快速排序 D)直接选择排序
96.在单链表中,增加头节点的目的是( )。
A)方便运算的实现
B)使单链表至少有一个节点
C)标识表节点中首节点的位置
D)说明单链表是线性表的链式存储实现
97.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是( )。
A)ABCED B)DBCEA
C)CDABE D)DCBEA
98.下列数据结构中,与所使用的计算机无关的数据是( )。
A)存储结构 B)物理结构
C)逻辑结构 D)物理和存储结构
99.在下列排序方法中,要求内存量最大的是( )。
A)插入排序 B)选择排序
C)快速排序 D)归并排序
100.在深度为5的满二叉树中,叶子节点的个数为( )。
A)32 B)31
C)16 D)15
101.算法时间复杂度通常用什么符号表示?( )。
A)T B)F C)O D)N
102.下列关于线性表的叙述中,错误的是( )。
A)线性表采用顺序存储,必须占用一片连续的存储单元
B)线性表采用顺序存储,便于进行插入和删除操作
C)线性表采用链接存储,不必占用一片连续的存储单元
D)线性表采用链接存储,便于插入和删除操作
103.某二叉树共有12个节点,其中叶子节点只有1个,则该二叉树的深度是( )。
A)3 B)6 C)8 D)12
104.对下列二叉树进行前序遍历的结果是( )。
A)DYBEAFCZX B)YDEBFZXCA
C)ABDYECFXZ D)ABCDEFXYZ
105.设一棵完全二叉树共有699个节点,则在该二叉树中的叶子节点数为( )。
A)349 B)350
C)255 D)351
106.从表中任何一个节点位置出发就可以不重复地访问到表中其他所有节点的链表是( )。
A)循环链表 B)双向链表
C)单向链表 D)二叉链表
107.下列叙述中正确的是( )。
A)算法复杂度是指算法控制结构的复杂程度
B)算法复杂度是指设计算法的难度
C)算法的时间复杂度是指设计算法的工作量
D)算法的复杂度包括时间复杂度和空间复杂度
108.下列叙述中错误的是( )。
A)在双向链表中,可以从任何一个节点开始直接遍历到所有节点
B)在循环链表中,可以从任何一个节点开始直接遍历到所有节点
C)在线性单链表中,可以从任何一个节点开始直接遍历到所有节点
D)在二叉链表中,可以从根节点遍历到所有节点
109.带链的栈与顺序存储的栈相比,其优点是( )。
A)入栈与退栈操作方便
B)可以省略栈底指针
C)入栈操作时不会受栈存储空间的限制而发生溢出
D)所占存储空间更小
110.设循环队列的存储空间为Q(1:100),初始状态为空。现经过一系列正常操作后,front=49,则循环队列中的元素个数为( )。
A)不确定 B)49
C)51 D)50
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。