您的当前位置:首页正文

数据结构与算法习题及答案

2023-12-08 来源:步旅网
数据结构与算法习题及答案

1.下列叙述中正确的是( )。B A)所谓算法就是计算方法

B)程序可以作为算法的一种描述方法 C)算法设计只需考虑得到计算结果 D)算法设计可以忽略算法的运算时间 2.下列各序列中不是堆的是( )。C 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) 3.深度为5的完全二叉树的结点数不可能是( )。A A)15 B)16 C)17 D)18

4.设二叉树如下:

则前序序列为( )。A A)ABDEGCFH B)DBGEAFHC C)DGEBHFCA D)ABCDEFGH 5.下列叙述中正确的是( )。A A)循环队列是顺序存储结构 B)循环队列是链式存储结构 C)循环队列是非线性结构

D)循环队列的插入运算不会发生溢出现象 6.下列叙述中正确的是( )。D A)所有数据结构必须有根结点 B)所有数据结构必须有终端结点(即叶子结点) C)只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构 D)没有根结点或没有叶子结点的数据结构一定是非线性结构 7.下列关于算法的描述中错误的是( )。D

A)算法强调动态的执行过程,不同于静态的计算公式 B)算法必须能在有限个步骤之后终止 C)算法设计必须考虑算法的复杂度

D)算法的优劣取决于运行算法程序的环境 8.设二叉树如下:

则中序序列为( )。B A)ABDEGCFH B)DBGEAFHC C)DGEBHFCA D)ABCDEFGH 9.线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点有( )。B A)节省存储空间

B)插入与删除运算效率高 C)便于查找

D)排序时减少元素的比较次数

10.深度为7的完全二叉树中共有125个结点,则该完全二叉树中的叶子结点数为( )。B A)62 B)63 C)64 D)65 11.下列叙述中正确的是( )。C

A)所谓有序表是指在顺序存储空间内连续存放的元素序列 B)有序表只能顺序存储在连续的存储空间内

C)有序表可以用链接存储方式存储在不连续的存储空间内 D)任何存储方式的有序表均能采用二分法进行查找

12.设二叉树如下:

则后序序列为( )。C A)ABDEGCFH B)DBGEAFHC C)DGEBHFCA D)ABCDEFGH 13.下列叙述中正确的是( )。B

A)结点中具有两个指针域的链表一定是二叉链表

B)结点中具有两个指针域的链表可以是线性结构,也可以是非线性结构 C)二叉树只能采用链式存储结构 D)循环链表是非线性结构

14.设某二叉树中共有140个结点,其中有40个度为1的结点。则( )。D A)该二叉树中有51个叶子结点 B)该二叉树中有50个叶子结点 C)该二叉树中有51个度为2的结点 D)不可能有这样的二叉树 15.带链的栈与顺序存储的栈相比,其优点是( )。C A)入栈与退栈操作方便 B)可以省略栈底指针

C)入栈操作时不会受栈存储空间的限制而发生溢出 D)以上都不对

16.某二叉树的前序序列为ABCD,中序序列为DCBA,则后序序列为( )。B A)BADC B)DCBA C)CDAB D)ABCD 17.下列关于算法复杂度叙述正确的是( )。B

A)最坏情况下的时间复杂度一定高于平均情况的时间复杂度 B)时间复杂度与所用的计算工具无关

C)对同一个问题,采用不同的算法,则它们的时间复杂度是相同的

D)时间复杂度与采用的算法描述语言有关

18.设有栈S和队列Q,初始状态均为空。首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为( )。B A)DEFXYZABC B)FEDZYXCBA C)FEDXYZCBA D)DEFZYXABC 19.下列叙述中正确的是( )。D

A)有两个指针域的链表称为二叉链表 B)循环链表是循环队列的链式存储结构

C)带链的栈有栈顶指针和栈底指针,因此又称为双重链表 D)结点中具有多个指针域的链表称为多重链表

20.某二叉树共有845个结点,其中叶子结点有45个,则度为1的结点数为( )。C A)400 B)754 C)756 D)不确定 21.深度为7的二叉树共有127个结点,则下列说法中错误的是( )。A A)该二叉树有一个度为1的结点 B)该二叉树是满二叉树 C)该二叉树是完全二叉树 D)该二叉树有64个叶子结点 22.下列叙述中正确的是( )。D A)非线性结构只能采用链式存储结构 B)非线性结构只能用多重链表表示 C)所有数据结构既可以采用顺序存储结构,也可以采用链式存储结构 D)有的非线性结构也能采用顺序存储结构 23.某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为( )。C A)DCBA B)BDCA C)ABCD D)BADC

24.设有序线性表的长度为n,则在有序线性表中进行二分查找,最坏情况下的比较次数为( )。D A)n(n-1)/2 B)n C)nlog2n D)log2n 25.某完全二叉树共有256个结点,则该完全二叉树的深度为( )。C A)7 B)8 C)9 D)10

26.设序列长度为n,在最坏情况下比较次数低于O(n2)的排序方法是( )。D A)快速排序 B)直接插入排序 C)冒泡排序 D)希尔排序 27.某二叉树的前序序列为ABCD,中序序列为BDCA,则该二叉树的深度为( )。A A)4 B)3 C)2

D)不确定

28.下列排序方法中,最坏情况下时间复杂度最低的是( )。D A)冒泡排序 B)快速排序 C)希尔排序 D)堆排序 29.设循环队列为Q(1:m),初始状态为front=rear=m。现经一系列入队与退队操作后,front=rear=m-1,则( )。D A)该循环队列已空 B)该循环队列已满

C)该循环队列中有1个元素 D)该循环队列已空或已满

30.设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是( )。A A)二分法查找 B)顺序查找 C)分块查找 D)哈希查找 31.某二叉树的深度为7,其中有64个叶子结点,则该二叉树中度为1的结点数为( )。A A)0 B)1 C)2 D)63

32.堆排序最坏情况下的时间复杂度为( )。B A)O(n1.5) B)O(nlog2n) C) D)O(log2n) 33.在线性表的链式存储结构中,其存储空间一般是不连续的,并且( )。C A)前件结点的存储序号小于后件结点的存储序号 B)前件结点的存储序号大于后件结点的存储序号

C)前件结点的存储序号可以小于也可以大于后件结点的存储序号 D)以上都不对

34.某二叉树中有15个度为1的结点,16个度为2的结点,则该二叉树中总的结点数为( )。C A)32 B)46 C)48 D)49 35.下列叙述中正确的是( )。D

A)每一个结点有两个指针域的链表一定是非线性结构 B)所有结点的指针域都为非空的链表一定是非线性结构 C)循环链表是循环队列的链式存储结构 D)线性结构的存储结点也可以有多个指针

36.在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数( )。A A)相同,元素的存储顺序与逻辑顺序一致 B)相同,但其元素的存储顺序可以与逻辑顺序不一致 C)不同,但元素的存储顺序与逻辑顺序一致 D)不同,且其元素的存储顺序可以与逻辑顺序不一致 37.设循环队列为Q(1: m),其初始状态为front=rear=m。经过一系列入队与退队运算后, front=30,rear=10。现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为( )。D

A)19 B)20 C)m-19 D)m-20

38.某二叉树中共有935个结点,其中叶子结点有435个,则该二叉树中度为2的结点个数为( )。D A)64 B)66 C)436 D)434 39.算法的有穷性是指( )。A

A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用 40.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。D A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序 41.下列关于栈的叙述正确的是( )。B A)栈按\"先进先出\"组织数据 B)栈按\"先进后出\"组织数据 C)只能在栈底插入数据

D)不能删除数据

42.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。B A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA 43.下列叙述中正确的是( )。D

A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D)循环队列中元素的个数是由队头指针和队尾指针共同决定

44.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。C A)O(n) B) C) D) 45.下列叙述中正确的是( )。A

A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间

46.在数据管理技术发展的三个阶段中,数据共享最好的是( )。C A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同 47.下列叙述中正确的是( )。D A)栈是\"先进先出\"的线性表 B)队列是\"先进后出\"的线性表 C)循环队列是非线性结构

D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 48.支持子程序调用的数据结构是( )。A A)栈 B)树 C)队列 D)二叉树 49.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。C A)10 B)8 C)6

D)4

50.下列排序方法中,最坏情况下比较次数最少的是( )。D A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 51.下列叙述中正确的是( )。C

A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D)在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化

52.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。D A)3 B)4 C)6 D)7 53.下列叙述中正确的是( )。D A)算法就是程序

B)设计算法时只需要考虑数据结构的设计 C)设计算法时只需要考虑结果的可靠性 D)以上三种说法都不对

54.下列数据结构中,属于非线性结构的是( )。C A)循环队列 B)带链队列 C)二叉树 D)带链栈 55.下列数据结构中,能够按照\"先进后出\"原则存取数据的是( )。B A)循环队列 B)栈 C)队列 D)二叉树

56.对于循环队列,下列叙述中正确的是( )。D A)队头指针是固定不变的 B)队头指针一定大于队尾指针 C)队头指针一定小于队尾指针 D)队头指针可以大于队尾指针,也可以小于队尾指针 57.算法的空间复杂度是指( )。A

A)算法在执行过程中所需要的计算机存储空间 B)算法所处理的数据量

C)算法程序中的语句或指令条数

D)算法在执行过程中所需要的临时工作单元数 58.下列叙述中正确的是( )。B A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D)线性表的链式存储结构所需要的存储空间与顺序存储结构没有任何关系 59.下列叙述中正确的是( )。D A)栈是一种先进先出的线性表 B)队列是一种后进先出的线性表 C)栈与队列都是非线性结构 D)栈与队列都是线性结构 60.下列叙述中正确的是( )。B A)有一个以上根结点的数据结构不一定是非线性结构 B)只有一个根结点的数据结构不一定是线性结构 C)循环链表是非线性结构 D)双向链表是非线性结构 61.下列关于二叉树的叙述中,正确的是( )。B A)叶子结点总是比度为2的结点少一个 B)叶子结点总是比度为2的结点多一个 C)叶子结点数是度为2的结点数的两倍 D)度为2的结点数是度为1的结点数的两倍 62.下列叙述中正确的是( )。B A)循环队列是队列的一种链式存储结构 B)循环队列是队列的一种顺序存储结构 C)循环队列是非线性结构 D)循环队列是一种逻辑结构 63.下列关于线性链表的叙述中,正确的是( )。C

A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 C)进行插入与删除时,不需要移动表中的元素

D)各数据结点的存储顺序与逻辑顺序可以不一致,它们的存储空间也可以不一致 64.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )。A A)16 B)10 C)6 D)4 65.在满足实体完整性约束的条件下( )。A A)一个关系中应该有一个或多个候选关键字 B)一个关系中只能有一个候选关键字 C)一个关系中必须有多个候选关键字 D)一个关系中可以没有候选关键字

66.下列链表中,其逻辑结构属于非线性结构的是( )。A A)二叉链表 B)循环链表 C)双向链表 D)带链的栈 67.设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。D A)15 B)16 C)20 D)0或35

68.下列关于栈的叙述中,正确的是( )。C A)栈底元素一定是最后入栈的元素 B)栈顶元素一定是最先入栈的元素 C)栈操作遵循先进后出的原则 D)以上三种说法都不对 69.下列叙述中正确的是( )。A

A)程序执行的效率与数据的存储结构密切相关 B)程序执行的效率只取决于程序的控制结构 C)程序执行的效率只取决于所处理的数据量 D)以上三种说法都不对

70.下列与队列结构有关联的是( )。D A)函数的递归调用 B)数组元素的引用 C)多重循环的执行 D)先到先服务的作业调度 71.( )。C

A)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)ABCDEFXYZ

72.一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是( )。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 73.下列叙述中正确的是( )。D

A)一个算法的空间复杂度大,则其时间复杂度也必定大 B)一个算法的空间复杂度大,则其时间复杂度必定小 C)一个算法的时间复杂度大,则其空间复杂度必定小 D)算法的时间复杂度与空间复杂度没有直接关系 74.下列叙述中正确的是( )。A A)循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 B)循环队列中的元素个数随队头指针的变化而动态变化 C)循环队列中的元素个数随队尾指针的变化而动态变化 D)以上说法都不对 75.一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为( )。B

A)219 B)229 C)230 D)231

76.对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为( )。C A)9 B)10 C)45 D)90 77.下列叙述中正确的是( )。B

A)算法的效率只与问题的规模有关,而与数据的存储结构无关 B)算法的时间复杂度是指执行算法所需要的计算工作量 C)数据的逻辑结构与存储结构是一一对应的 D)算法的时间复杂度与空间复杂度一定相关 78.下列叙述中正确的是( )。C A)线性表链式存储结构的存储空间一般要少于顺序存储结构 B)线性表链式存储结构与顺序存储结构的存储空间都是连续的 C)线性表链式存储结构的存储空间可以是连续的,也可以是不连续的 D)以上说法都不对 79.某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)( )。D A)3 B)6 C)8 D)12

80.对长度为n的线性表作快速排序,在最坏情况下,比较次数为( )。D A)n B)n-1 C)n(n-1) D)n(n-1)/2 81.下列叙述中正确的是( )。D

A)有且只有一个根结点的数据结构一定是线性结构

B)每一个结点最多有一个前件也最多有一个后件的数据结构一定是线性结构 C)有且只有一个根结点的数据结构一定是非线性结构

D)有且只有一个根结点的数据结构可能是线性结构,也可能是非线性结构 82.下列叙述中错误的是( )。C A)在双向链表中,可以从任何一个结点开始直接遍历到所有结点 B)在循环链表中,可以从任何一个结点开始直接遍历到所有结点 C)在线性单链表中,可以从任何一个结点开始直接遍历到所有结点 D)在二叉链表中,可以从根结点开始遍历到所有结点 83.某二叉树共有13个结点,其中有4个度为1的结点,则叶子结点数为( )。A A)5 B)4 C)3 D)2

84.设栈的顺序存储空间为S(1: 50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为( )。C A)30 B)29 C)20 D)19 85.下列叙述中正确的是( )。B A)栈与队列都只能顺序存储

B)循环队列是队列的顺序存储结构 C)循环链表是循环队列的链式存储结构 D)以上说法都不对

86.设某二叉树的前序序列为ABC,中序序列为CBA,则该二叉树的后序序列为( )。B A)BCA B)CBA C)ABC D)CAB 87.下列排序方法中,最坏情况下时间复杂度最小的是( )。C A)冒泡排序 B)快速排序 C)堆排序

D)直接插入排序

88.为了对有序表进行对分查找,则要求有序表( )。A A)只能顺序存储 B)只能链式存储 C)可以顺序存储也可以链式存储 D)任何存储方式 89.设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为( )。C A)BCA B)CBA C)ABC

D)CAB

90.下列叙述中正确的是( )。D A)存储空间不连续的所有链表一定是非线性结构 B)结点中有多个指针域的所有链表一定是非线性结构 C)能顺序存储的数据结构一定是线性结构 D)带链的栈与队列是线性结构 91.算法时间复杂度的度量方法是( )。B A)算法程序的长度

B)执行算法所需要的基本运算次数 C)执行算法所需要的所有运算次数 D)执行算法所需要的时间 92.设循环队列为Q(1: m),初始状态为front=rear=m。现经过一系列的入队与退队运算后,front=rear=1,则该循环队列中的元素个数为( )。D A)1 B)2 C)m-1 D)0或m 93.在最坏情况下( )。C

A)快速排序的时间复杂度比冒泡排序的时间复杂度要小 B)快速排序的时间复杂度比希尔排序的时间复杂度要小 C)希尔排序的时间复杂度比直接插入排序的时间复杂度要小 D)快速排序的时间复杂度与希尔排序的时间复杂度是一样的 94.在深度为7的满二叉树中,度为2的结点个数为( )。B A)64 B)63 C)32 D)31 95.设栈的顺序存储空间为S(1: m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为( )。C A)30 B)20 C)m-19 D)m-20

96.算法空间复杂度的度量方法是( )。D A)算法程序的长度 B)算法所处理的数据量 C)执行算法所需要的工作单元 D)执行算法所需要的存储空间 97.下面不属于软件开发阶段任务的是( )。B A)测试

B)可行性研究 C)设计 D)实现

98.设循环队列为Q(1: m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=15,rear=20。现要在该循环队列中寻找最大值的元素,最坏情况下需要比较的次数为( )。A A)4 B)6 C)m-5 D)m-6 99.下列叙述中正确的是( )。D

A)循环队列属于队列的链式存储结构 B)双向链表是二叉树的链式存储结构 C)非线性结构只能采用链式存储结构

D)有的非线性结构也可以采用顺序存储结构

100.某二叉树中有n个叶子结点,则该二叉树中度为2的结点数为( )。B A)n+1 B)n-1 C)2n D)n/2 101.下列叙述中错误的是( )。C

A)算法的时间复杂度与算法所处理数据的存储结构有直接关系 B)算法的空间复杂度与算法所处理数据的存储结构有直接关系 C)算法的时间复杂度与空间复杂度有直接关系 D)以上说法都不对

102.设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为( )。C A)30 B)29 C)20 D)19 103.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的深度(根结点在第1层)为( )。C A)2 B)3 C)4 D)5

104.下列叙述中正确的是( )。D A)存储空间连续的数据结构一定是线性结构 B)存储空间不连续的数据结构一定是非线性结构 C)没有根结点的非空数据结构一定是线性结构 D)具有两个根结点的数据结构一定是非线性结构 105.下列叙述中正确的是( )。C

A)带链队列的存储空间可以不连续,但队头指针必须大于队尾指针 B)带链队列的存储空间可以不连续,但队头指针必须小于队尾指针

C)带链队列的存储空间可以不连续,且队头指针可以大于也可以小于队尾指针 D)以上说法都不对

106.设循环队列为Q(1:m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=20,rear=15。现要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为( )。D A)5 B)6 C)m-5 D)m-6 107.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的后序序列为( )。D

A)EFGDCBA B)DCBEFGA C)BCDGFEA D)DCBGFEA

108.下列叙述中正确的是( )。B A)在链表中,如果每个结点有两个指针域,则该链表一定是非线性结构 B)在链表中,如果有两个结点的同一个指针域的值相等,则该链表一定是非线性结构 C)在链表中,如果每个结点有两个指针域,则该链表一定是线性结构 D)在链表中,如果有两个结点的同一个指针域的值相等,则该链表一定是线性结构 109.下列叙述中错误的是( )。B

A)在带链队列中,队头指针和队尾指针都是在动态变化的 B)在带链栈中,栈顶指针和栈底指针都是在动态变化的

C)在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的 D)以上说法均不对

110.设数据元素的集合D={ 1,2,3,4,5 },则满足下列关系R的数据结构中为线性结构的是( )。B 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) } 111.下列叙述中正确的是( )。A

A)链表结点中具有两个指针域的数据结构可以是线性结构,也可以是非线性结构 B)线性表的链式存储结构中,每个结点必须有指向前件和指向后件的两个指针 C)线性表的链式存储结构中,每个结点只能有一个指向后件的指针 D)线性表的链式存储结构中,叶子结点的指针只能是空

112.一个栈的初始状态为空。现将元素A,B,C,D,E依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。则元素退队的顺序为( )。C A)ABC B)CBA C)EDC D)CDE 113.某二叉树的中序序列为DCBAEFG,后序序列为DCBGFEA,则该二叉树的深度(根结点在第1层)为( )。B A)5

B)4 C)3 D)2

114.下列叙述中正确的是( )。D A)算法复杂度是指算法控制结构的复杂程度 B)算法复杂度是指设计算法的难度 C)算法的时间复杂度是指设计算法的工作量 D)算法的复杂度包括时间复杂度与空间复杂度 115.一棵完全二叉树共有360个结点,则在该二叉树中度为1的结点个数为( )。B A)0 B)1 C)180 D)181

116.算法的时间复杂度是指( )。C A)设计该算法所需的工作量 B)执行该算法所需要的时间 C)执行该算法时所需要的基本运算次数 D)算法中指令的条数 117.设循环队列存储空间为Q(1:50),初始状态为front=rear=50。经过一系列入队和退队操作后,front=rear=25,则该循环队列中元素个数为( )。D A)26 B)25 C)24 D)0或50

118.下列各组的排序方法中,最坏情况下比较次数相同的是( )。A A)冒泡排序与快速排序 B)简单插入排序与希尔排序 C)堆排序与希尔排序 D)快速排序与希尔排序 119.设二叉树共有150个结点,其中度为1的结点有10个,则该二叉树中的叶子结点数为( )。D A)71 B)70 C)69

D)不可能有这样的二叉树

120.非空循环链表所表示的数据结构( )。A A)有根结点也有叶子结点 B)没有根结点但有叶子结点 C)有根结点但没有叶子结点 D)没有根结点也没有叶子结点 121.某棵树只有度为3的结点和叶子结点,其中度为3的结点有8个,则该树中的叶子结点数为( )。A A)17 B)16

C)15

D)不存在这样的树

122.某循环队列的存储空间为Q(1:m),初始状态为front=rear=m。现经过一系列的入队操作和退队操作后,front=m,rear=m-1,则该循环队列中的元素个数为( )。A A)m-1 B)m C)1 D)0 123.在排序过程中,每一次数据元素的移动会产生新的逆序的排序方法是( )。A A)快速排序 B)简单插入排序 C)冒泡排序 D)堆排序

124.某循环队列的存储空间为Q(1:m),初始状态为front=rear=m。现经过一系列的入队操作和退队操作后,front=m-1,rear=m,则该循环队列中的元素个数为( )。A A)1 B)m-1 C)m D)0 125.某棵树中共有25个结点,且只有度为3的结点和叶子结点,其中叶子结点有7个,则该树中度为3的结点数为( )。A A)不存在这样的树 B)7 C)8 D)6

126.在最坏情况下,二分查找法的时间复杂度为( )。A A) B) C) D) 127.下列序列中不满足堆条件的是( )。A

A)(98,95,93,96,89,85,76,64,55,49)

B)(98,95,93,94,89,85,76,64,55,49) C)(98,95,93,94,89,90,76,64,55,49) D)(98,95,93,94,89,90,76,80,55,49) 128.下列叙述中正确的是( )。A A)程序可以作为算法的一种表达方式 B)算法的有穷性是指算法的规模不能太大 C)算法的复杂度用于衡量算法的控制结构 D)算法的效率与数据的存储结构无关 129.某棵树的度为4,且度为4、3、2、1的结点数分别为1、2、3、4,则该树中的叶子结点数为( )。A A)11 B)9 C)10 D)8

130.设二叉树中共有15个结点,其中的结点值互不相同。如果该二叉树的前序序列与中序序列相同,则该二叉树的深度为( )。A A)15 B)6 C)4 D)不存在这样的二叉树 131.设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。现经过一系列入队与退队操作后,front=rear=1,此后又正常地插入了两个元素。最后该队列中的元素个数为( )。A A)2 B)1 C)3 D)52

132.设数据元素集合为{A,B,C,D,E,F},下列关系为线性结构的是( )。A A)R={ (D,E),(E,A),(B,C),(A,B),(C,F) } B)R={ (D,F),(E,C),(B,C),(A,B),(C,F) } C)R={ (A,B),(C,D),(B,A),(E,F),(F,A) } D)R={ (D,E),(E,A),(B,C),(F,B),(C,F) } 133.下列处理中与队列有关的是( )。A A)操作系统中的作业调度 B)执行程序中的过程调用 C)执行程序中的循环控制 D)执行程序中的条件控制

134.下列数据结构中为非线性结构的是( )。A A)二叉链表 B)循环队列 C)循环链表 D)双向链表 135.设二叉树中共有31个结点,其中的结点值互不相同。如果该二叉树的后序序列与中序序列相同,则该二叉树的深度为( )。A

A)31 B)16 C)17 D)5

136.下列叙述中错误的是( )。A A)数据结构中的数据元素不能是另一数据结构 B)数据结构中的数据元素可以是另一数据结构 C)空数据结构可以是线性结构也可以是非线性结构 D)非空数据结构可以没有根结点 137.为了降低算法的空间复杂度,要求算法尽量采用原地工作(in place)。所谓原地工作是指( )。A A)执行算法时所使用的额外空间固定(即不随算法所处理的数据空间大小的变化而变化) B)执行算法时所使用的额外空间随算法所处理的数据空间大小的变化而变化 C)执行算法时不使用额外空间 D)执行算法时不使用任何存储空间 138.设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=1。现又要将一个元素进栈,栈顶指针top值变为( )。A A)发生栈满的错误 B)2 C)m D)0 139.设某二叉树的后序序列与中序序列均为ABCDEFGH,则该二叉树的前序序列为( )。A A)HGFEDCBA B)ABCDEFGH C)EFGHABCD D)DCBAHGFE

140.设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=m。现又在栈中退出一个元素后,栈顶指针top值为( )。A A)m+1 B)0 C)m-1 D)产生栈空错误 141.下列叙述中正确的是( )。A

A)数据结构中的数据元素可以是另一种数据结构 B)数据结构中的数据元素只能是另一种线性结构 C)数据结构中的数据元素只能是另一种非线性结构 D)数据结构中的数据元素不能是另一种数据结构 142.下列叙述中正确的是( )。A A)二分查找法只适用于顺序存储的有序线性表 B)二分查找法适用于任何存储结构的有序线性表 C)二分查找法适用于有序循环链表 D)二分查找法适用于有序双向链表 143.设某二叉树的前序序列与中序序列均为ABCDEFGH,则该二叉树的后序序列为( )。A A)HGFEDCBA

B)EFGHABCD C)DCBAHGFE D)ABCDEFGH

144.设循环队列的存储空间为Q(1:m),初始状态为空。现经过一系列正常的入队与退队操作后,front=m,rear=m-1,此后从该循环队列中删除一个元素,则队列中的元素个数为( )。A A)m-2 B)1 C)m-1 D)0 145.某二叉树共有730个结点,其中度为1的结点有30个,则叶子结点个数为( )。A A)不存在这样的二叉树 B)351 C)1 D)350

146.能从任意一个结点开始没有重复地扫描到所有结点的数据结构是( )。A A)循环链表 B)双向链表 C)二叉链表 D)有序链表 147.若某二叉树中的所有结点值均大于其左子树上的所有结点值,且小于右子树上的所有结点值,则该二叉树遍历序列中有序的是( )。A A)中序序列 B)前序序列 C)后序序列 D)以上均不正确

148.设循环队列的存储空间为Q(1:m),初始状态为空。现经过一系列正常的入队与退队操作后,front=m-1,rear=m,此后再向该循环队列中插入一个元素,则队列中的元素个数为( )。A A)2 B)1 C)m-1 D)m 149.某二叉树共有530个结点,其中度为2的结点有250个,则度为1的结点数为( )。A

A)29 B)30 C)249 D)251

150.下列叙述中正确的是( )。A A)解决同一个问题的不同算法的时间复杂度一般是不同的 B)解决同一个问题的不同算法的时间复杂度必定是相同的 C)对同一批数据作同一种处理,如果数据存储结构不同,不同算法的时间复杂度肯定相同 D)对同一批数据作不同的处理,如果数据存储结构相同,不同算法的时间复杂度肯定相同 151.在最坏情况下,堆排序的时间复杂度是( )。A

A)

B)

C)

D)

152.下列叙述中正确的是( )。A A)算法的空间复杂度与算法所处理的数据存储空间有关。 B)算法的空间复杂度是指算法程序控制结构的复杂程度。 C)算法的空间复杂度是指算法程序中指令的条数。 D)压缩数据存储空间不会降低算法的空间复杂度。 153.下列各组排序法中,最坏情况下比较次数相同的是( )。A A)冒泡排序与快速排序 B)简单插入排序与希尔排序 C)简单选择排序与堆排序 D)希尔排序与堆排序 154.设数据集合为D={ 1, 2, 3, 4, 5 }。下列数据结构 B=(D, R)中为非线性结构的是( )。A A)R={ (1,2), (2,3), (4,3), (3,5) } B)R={ (1,2), (2,3), (3,4), (4,5) } C)R={ (5,4), (4,3), (3,2), (2,1) } D)R={ (2,5), (5,4), (3,2), (4,3) } 155.某二叉树共有400个结点,其中有100个度为1的结点,则该二叉树中的叶子结点数为( )。A

A)不存在这样的二叉树 B)149 C)150 D)151

156.设栈的存储空间为 S(1:50),初始状态为 top=51。现经过一系列正常的入栈与退栈操作后,top=20,则栈中的元素个数为( )。A A)31 B)30 C)21 D)20 157.下列叙述中正确的是( )。A

A)有多个指针域的链表有可能是线性结构。 B)有多个指针域的链表一定是非线性结构。

C)有两个指针域的链表一定是二叉树的存储结构。 D)只有一个根结点的数据结构一定是线性结构。

158.某二叉树共有150个结点,其中有50个度为1的结点,则( )。A A)不存在这样的二叉树。 B)该二叉树有49个叶子结点。 C)该二叉树有50个叶子结点。 D)该二叉树有51个叶子结点。 159.循环队列的存储空间为 Q(1:50),初始状态为front=rear=50。经过一系列正常的入队与退队操作后,front=rear=25,此后又正常地插入了一个元素,则循环队列中的元素个数为( )。A A)1 B)51 C)49 D)50

160.某二叉树的前序遍历序列为 ABCDE ,中序遍历序列为 CBADE ,则后序遍历序列为( )。A A)CBEDA B)EDABC C)CBADE D)EDCBA 161.下列叙述中正确的是( )。A

A)循环队列是队列的一种存储结构。

B)有两个指针域的链表一定是二叉树的存储结构。 C)二分查找适用于任何存储方式的有序表。 D)所有二叉树均不适合采用顺序存储结构。 162.下列叙述中正确的是( )。A A)数据的存储结构会影响算法的效率。 B)算法设计只需考虑结果的可靠性。 C)算法复杂度是指算法控制结构的复杂程度。 D)算法复杂度是用算法中指令的条数来度量的。 163.循环队列的存储空间为 Q(1:40),初始状态为 front=rear=40。经过一系列正常的入队与退队操作后,front=rear=15,此后又正常地退出了一个元素,则循环队列中的元素个数为( )。A A)39 B)16 C)9 D)14

164.某二叉树的中序遍历序列为 CBADE ,后序遍历序列为 CBEDA ,则前序遍历序列为( )。A A)ABCDE B)CBEDA C)CBADE D)EDCBA 165.下列叙述中正确的是( )。A A)非线性结构可以为空。

B)只有一个根结点和一个叶子结点的必定是线性结构。 C)只有一个根结点的必定是线性结构或二叉树。 D)没有根结点的一定是非线性结构。

166.设栈的存储空间为 S(1:60),初始状态为 top=61。现经过一系列正常的入栈与退栈操作后,top=25,则栈中的元素个数为( )。A A)36 B)35 C)26 D)25 167.

( )。A

A)希尔排序 B)快速排序 C)简单插入排序 D)冒泡排序

168.下列叙述中错误的是( )。A A)非线性结构中至少有一个根结点。 B)有一个以上根结点的必定是非线性结构。 C)有一个以上叶子结点的必定是非线性结构。 D)非线性结构中可以没有根结点与叶子结点。 169.某二叉树中共有350个结点,其中200个为叶子结点,则该二叉树中度为2的结点数为( )。A

A)不可能有这样的二叉树 B)150 C)199 D)149

170.设栈的存储空间为 S(1:50),初始状态为 top=0。现经过一系列正常的入栈与退栈操作后,top=30,则栈中的元素个数为( )。A A)30 B)31 C)20 D)19 171.

( )。A A)堆排序 B)快速排序 C)简单插入排序 D)冒泡排序

172.下列叙述中错误的是( )。A A)所有二叉树都只能用二叉链表表示 B)二分查找法只适用于顺序存储的线性有序表 C)有多个指针域的链表也有可能是线性结构 D)循环队列是队列的存储结构 173.某二叉树共有400个结点,其中有99个度为1的结点,则该二叉树中的叶子结点数为( )。A A)151 B)150 C)149

D)不可能有这样的二叉树

174.循环队列的存储空间为 Q(1:50),初始状态为 front=rear=50。经过一系列正常的入队与退队操作后,front=rear=25,则循环队列中的元素个数为( )。A A)0或50 B)25 C)26 D)49 175.设数据集合为D={ 1, 2, 3, 4, 5, 6 }。下列数据结构 B=(D, R)中为线性结构的是( )。A

A)R={ (1,2), (2,3), (6,5), (3,6), (5,4) } B)R={ (1,2), (2,3), (3,4), (4,5), (6,5) } C)R={ (5,4), (3,4), (3,2), (4,3), (5,6) } D)R={ (1,2), (2,3), (4,3), (4,5), (5,6) } 176.设栈的顺序存储空间为 S(1:m),初始状态为top=m+1,则栈中的数据元素个数为( )。A A)m-top+1 B)top-m+1 C)m-top D)top-m 177.某二叉树的后序遍历序列与中序遍历序列相同,均为 ABCDEF ,则前序遍历序列为( )。A

A)FEDCBA B)CBAFED C)DEFCBA

D)ABCDEF

178.在具有n个结点的二叉树中,如果各结点值互不相同,但前序遍历序列与中序遍历序列相同,则该二叉树的深度为(根结点在第1层)( )。A A)n B)n/2+1 C)n+1 D)n-1 179.设栈的顺序存储空间为 S(1:m),初始状态为top=0,则栈中的数据元素个数为( )。A

A)top B)m-top+1 C)m-top D)top-m

180.下列叙述中错误的是( )。A A)不管是顺序栈还是带链的栈,在操作过程中其栈底指针均是固定不变的。 B)带链栈的栈底指针在操作过程中是有可能改变的。 C)不管是顺序栈还是带链的栈,在操作过程中其栈顶指针均是动态变化的。 D)顺序栈的栈底指针在操作过程中是固定不变的。 181.某二叉树的前序遍历序列与中序遍历序列相同,均为 ABCDEF ,则后序遍历序列为( )。A

A)FEDCBA B)BCDEFA C)CDEFAB D)DEFABC

182.下列叙述中正确的是( )。A A)排序二叉树的中序遍历序列是有序序列。 B)多重链表必定是非线性结构。 C)任何二叉树只能采用链式存储结构。 D)堆可以用完全二叉树表示,其中序遍历序列是有序序列。

因篇幅问题不能全部显示,请点此查看更多更全内容