报名本机构合作学校,赠送复习资料,复习课程,确保录取。并且可以申请学校奖学金500元~1500元不等!
第一章绪论单元测试
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、数据结构
C、数据的逻辑结构
D、数据元素之间的关系
13、【单选题】在数据的存储中,一个节点通常存储一个 ______。
A、数据结构
B、数据类型
C、数据元素
D、数据项
14、【单选题】在决定选取任何类型的存储结构时,一般不多考虑 ______。
A、各节点的值如何
B、节点个数的多少
C、对数据有哪些运算
D、所用编程语言实现这种结构是否方便
15、【单选题】数据在计算机的存储器中表示时,逻辑上相邻的两个元素对应的物理地址也是相邻的,这种存储结构称之为 ______。
A、路基结构
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、【单选题】算法分析的主要任务之一是分析 _______。
A、算法是否具有较好地可读性
B、算法中是否存在语法错误
C、算法的功能是否符合设计要求
D、算法的执行时间和问题规模之间的关系
24、【单选题】算法的时间复杂度为O(n2),表明该算法的 _______。
A、问题规模是<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />
B、执行时间等于<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" style="font-family: Calibri, sans-serif; font-size: 14px; white-space: normal;" />
C、执行时间与<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" style="white-space: normal; font-family: Calibri, sans-serif; font-size: 14px;" />成正比
D、问题规模与<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" style="white-space: normal; font-family: Calibri, sans-serif; font-size: 14px;" />成正比
25、【单选题】算法分析的目的是 _______。
A、找出数据结构的合理性
B、研究算法中输入和输出的关系
C、分析算法的效率以求改进
D、分析算法的易读性和文档性
26、【单选题】以下函数中时间复杂度最小的是 _______。
A、T1(n)=nlog2n+5000n
B、T2(n)=<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />-8000n
C、T3(n)=<img src="http://img1.ph.126.net/8nm9wqNflSmDy2tuJtmu8A==/6632361890887289686.png" style="width: 42px; height: 23px;" />-6000n
D、T4(n)=20000log2n
27、【单选题】以下函数中时间复杂度最小的是 _______。
A、T1(n)=1000log2n
B、T2(n)=<img src="http://img1.ph.126.net/8nm9wqNflSmDy2tuJtmu8A==/6632361890887289686.png" />-1000log2n
C、T3(n)=<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />- 1000log2n
D、T4(n)=2nlog2n-1000log2n
28、【单选题】以下说法中错误的是 _______。(1)原地工作算法的含义是指不需要任何额外的辅助空间(2)在相同的问题规模下n下,时间复杂度为O(nlog2n)的算法在执行时间上总是优于时间复杂度为O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)的算法(3)时间复杂度通常是指最坏情况下,估计算法执行时间的一个上限(4)一个算法的时间复杂度与实现算法的语言无关
A、(1)
B、(1)、(2)
C、(1)、(4)
D、(3)
29、【单选题】以下数据结构中哪一个是非线性结构?
A、队列
B、栈
C、线性表
D、二叉树
30、【单选题】下面程序的时间复杂为 _______。for(i=1,s=0; i=n; i++) {t=1;for(j=1;j=i;j++) t=t*j;s=s+t;}
A、O(n)
B、O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
C、O( <img src="http://img2.ph.126.net/2LAnijl1dUrOiMarRNKsRQ==/6608417826167433191.png" />)
D、O(<img src="http://img2.ph.126.net/7PaaJLDcsPUOb6USZoQynQ==/6631238190001381088.png" />)
31、【单选题】一个算法的时间复杂度为(<img src="http://img2.ph.126.net/2LAnijl1dUrOiMarRNKsRQ==/6608417826167433191.png" />+<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />log2n+14n)/<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />,其数量级表示为 _______。
A、O(n)
B、O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
C、O(<img src="http://img2.ph.126.net/2LAnijl1dUrOiMarRNKsRQ==/6608417826167433191.png" />)
D、O(<img src="http://img2.ph.126.net/7PaaJLDcsPUOb6USZoQynQ==/6631238190001381088.png" />)
32、【单选题】取算法的时间复杂度为O(<img src="http://img2.ph.126.net/2LAnijl1dUrOiMarRNKsRQ==/6608417826167433191.png" />),当n=5时执行时间为50s,当n=15时,执行时间为_______。
A、3375
B、1350
C、2025
D、675
33、【单选题】下面程序的时间复杂度为 _______。void fun( int n) { int i=1; while (i=n) i=i*2}
A、O(n)
B、O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
C、O(log2n)
D、O(nlog2n)
34、【单选题】下面程序的时间复杂度为 _______。void fun( int n) { int i=1; while (i=n) i=i*3}
A、O(n)
B、O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
C、O(nlog3n)
D、O(log3n)
35、【单选题】下面程序的时间复杂度为 _______。void fun( int n) { int i=1, k=100; while (i=n) {k++; i+=2;} }
A、O(n)
B、O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
C、O(log2n)
D、O(nlog2n)
36、【判断题】数据元素是数据的最小单位。
A、正确
B、错误
37、【判断题】数据对象就是一组任意数据元素的集合。
A、正确
B、错误
38、【判断题】任何数据结构都具备3个基本运算:插入、删除、和查找。
A、正确
B、错误
39、【判断题】数据的逻辑结构与数据元素在计算机中如何存储有关。
A、正确
B、错误
40、【判断题】如果数据元素值发生改变,则数据的逻辑结构也随之改变。
A、正确
B、错误
41、【判断题】逻辑结构相同的数据,可以采用多种不同的存储方法。
A、正确
B、错误
42、【判断题】逻辑结构不相同的数据,必须采用多种不同的存储方法。
A、正确
B、错误
43、【判断题】逻辑结构相同的数据,在设计存储结构时,它们的节点类型也一定相同。
A、正确
B、错误
44、【判断题】数据的逻辑结构时指数据的各数据项之间的逻辑关系。
A、正确
B、错误
45、【判断题】算法的优劣与算法描述语言无关,但与所用的计算机有关。
A、正确
B、错误
46、【判断题】算法可以用不同的语言描述,如果用C或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
A、正确
B、错误
47、【判断题】程序一定是算法。
A、正确
B、错误
48、【判断题】算法最终必须由计算机程序实现.
A、正确
B、错误
49、【判断题】算法的可行性是指指令不能有二义性。
A、正确
B、错误
50、【判断题】健壮的算法不会因非法输入数据而出现莫名其妙的状态。
A、正确
B、错误
第二章线性表单元测试
1、【单选题】线性表是具有n个 ______ 的有限序列。
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、【单选题】设线性表有n个元素,以下操作中,_______在顺序表上实现比在链表上实现效率高。
A、输入第i(1<=i<=n)个元素值
B、交换第1个元素第2个元素的值
C、顺序输出这n个元素的值
D、输出与给定值x相等的元素在线性表中的符号
9、【单选题】对于一个线性表,既要求能够较快地进行插入和删除操作,又要求存储结构能够反映数据元素之间的逻辑关系,则应采用 _______ 存储结构。
A、顺序
B、链式
C、散列
D、索引
10、【单选题】设线性表中有n个元素,以下操作,_______ 在单链表上实现要比在顺序表上实现效率高。
A、删除指定位置元素的后一个元素
B、在第n个元素的后面插入一个新元素
C、顺序输出前k个元素
D、交换第i个元素和第n-i+1个元素的值
11、【单选题】以下属于顺序表的优点是 _______。
A、插入元素方便
B、删除元素方便
C、存储密度大
D、以上都不对
12、【单选题】要求线性表采用静态空间分配方式,且插入和删除操作时不需要移动元素,采用的存储结构是 _______。
A、单链表
B、静态链表
C、双链表
D、顺序表
13、【单选题】如果最常用的操作时取第i个元素及前驱元素,则采用 _______ 存储方式最节省时间。
A、单链表
B、双链表
C、循环单链表
D、顺序表
14、【单选题】与单链表相比,双链表的优点之一是 _______。
A、插入、删除操作更简单
B、可以进行随机访问
C、可以省略表头指针或表尾指针
D、访问前后相邻节点更方便
15、【单选题】在长度为n的顺序表中插入一个元素的时间复杂度为 _______。
A、O(n)
B、 O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
C、O(log2n)
D、O(1)
16、【单选题】在长度为n的顺序表中删除一个元素的时间复杂度为 _______。
A、 O(1)
B、 O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
C、O(log2n)
D、O(n)
17、【单选题】在两个各有n个元素的递增有序顺序表归并成一个有序顺序表,其最少的比较次数为_______。
A、n
B、2n-1
C、2n
D、n-1
18、【单选题】将两个长度为n、m的递增有序表归并成一个有序顺序表,其最少的比较次数是_______。(MIN表示取最小值)
A、n
B、m
C、MIN(m, n)
D、不确定
19、【单选题】在带头节点的单链表L为空的判定条件是 _______。
A、 L==NULL
B、L->NEXT==NULL
C、 L->NEXT==L
D、 L!=NULL
20、【单选题】对于一个具有n个元素的线性表,建立其单链表的时间复杂度为 _______。
A、 O(log2n)
B、O(1)
C、 O(n)
D、 O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
21、【单选题】在单链表中查找指定值的节点的时间复杂度是 _______。
A、O(log2n)
B、O(1)
C、O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
D、O(n)
22、【单选题】以下关于单链表的叙述中,不正确的是 _______。
A、节点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
B、逻辑上相邻的元素物理上不必相邻
C、可以通过头节点直接计算第i个节点的存储地址
D、插入、删除运算操作简单,不必移动节点
23、【单选题】在单链表中,增加一个头节点的目的是为了 _______。
A、使单链表至少有一个节点
B、标识链表中重要节点的位置
C、方便运算的实现
D、说明单链表是线性表的链式存储结构
24、【单选题】在一个具有n个节点的有序单链表中插入一个新节点并仍然保持有序的时间复杂度是 _______。
A、O(nlog2n)
B、O(1)
C、 O(n)
D、O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
25、【单选题】将长度为m的单链表链接在长度为n的单链表之后的算法时间复杂度为 _______。
A、O(1)
B、O(n)
C、O(m)
D、O(m+n)
26、【单选题】已知一个长度为n的单链表中所有节点是递增有序的,以下叙述中正确的是 _______。
A、插入一个节点使之有序的算法的时间复杂度为O(1)
B、删除最大值节点使之有序的算法的时间复杂度为 O(1)
C、找最小值节点的算法的时间复杂度为 O(1)
D、以上都不对
27、【单选题】在一个长度为n(n1)的带头节点的单链表上,另设有尾指针r(指向尾节点),执行_______操作与链表的长度有关。
A、删除单链表中的第一个元素
B、删除单链表的尾节点
C、在单链表中第一个元素前插入一个新节点
D、在单链表最后一个元素后插入一个新节点
28、【单选题】在一个双链表中,在*p节点之后插入节点*q的操作是 _______。
A、q->prior = p;p-> next=q;p -> next -> prior =q; q ->next = p -> next;
B、q ->next = p -> next;p -> next -> prior =q;p-> next=q;q->prior = p;
C、p-> next=q;q->prior = p;q ->next = p -> next;p -> next -> prior =q;
D、p -> next -> prior =q;q->prior = p;p-> next=q;q ->next = p -> next;
29、【单选题】在一个双链表中,在*p节点之前插入节点*q的操作是 _______。
A、p -> prior = q;q-> next=p;p -> prior ->next=q; q ->prior= p -> prior;
B、q ->prior= p -> prior;p -> prior ->next=q;q-> next=p;p -> prior = q->next;
C、q-> next=p;p -> next=q;q-> prior ->next= q;q-> next=p;
D、p -> prior ->next=q;q-> next=p;q -> prior = p->prior;p -> prior = q;
30、【单选题】在一个双链表中, 删除*p节点的操作是 _______。
A、p -> prior –>next= p-> next;p ->next-> prior = p -> prior;
B、p ->prior= p -> prior -> prior;p -> prior ->prior = p;
C、p-> next -> prior = p;p-> next=p-> next-> next;
D、p -> next= p->prior -> prior;p-> prior = p->prior->prior;
31、【单选题】在一个双链表中, 删除*p节点之后的一个节点,其时间复杂度为_______。
A、O(nlog2n)
B、O(1)
C、O(n)
D、O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
32、【单选题】非空的循环单链表L的尾节点(由p所指向)满足 _______。
A、p-> next == NULL
B、p == NULL
C、p -> next == L
D、 p==L
33、【单选题】带表头结点的双循环链表L为空表的条件是 _______。
A、L== NULL
B、L-> next -> prior == NULL
C、L -> prior == NULL
D、L -> next == L
34、【单选题】某线性表最常用的操作是在尾元素之后插入一个元素和删除尾元素,则采用 _______ 存储方式最节省运算时间。
A、单链表
B、循环单链表
C、双链表
D、循环双链表
35、【单选题】如果对含有n(n1)个元素的线性表的运算只有4种,即删除第一个元素、删除尾元素、在第一个元素前面插入新元素、在尾元素的后面插入新元素,则最好使用_______。
A、只有尾节点指针没有头节点的循环单链表
B、只有尾节点指针没有头节点的非循环双链表
C、只有开始数据节点指针没有尾节点指针的循环双链表
D、既有表头指针也有表尾指针的循环单链表
36、【单选题】在某线性表最常用的操作是在尾元素之后插入一个元素和删除第一个元素。故采用_______ 存储方式最节省时间。
A、单链表
B、仅有头节点指针的循环单链表
C、双链表
D、仅有尾指针的循环单链表
37、【单选题】两个表长都为n、不带表头结点的单链表,结点类型都相同,头指针分别为h1与h2,且前者是循环链表,后者是非循环链表,则 _______。
A、对于两个链表来说,删除首节点的操作,其时间复杂度都是O(1)
B、对于两个链表来说,删除尾节点的操作,其时间复杂度都是O(n)
C、循环链表要比非循环链表占用更多的内存空间
D、h1和h2是不同类型的变量
38、【单选题】在长度为n的 _______ 上,删除第一个元素,其算法的时间复杂度为O(n)。
A、只有表头指针的不带表头节点的循环单链表
B、只有表尾指针的不带表头节点的循环单链表
C、只有表尾指针的带表头节点的循环单链表
D、只有表头指针的带表头节点的循环单链表
39、【单选题】下面关于线性表的叙述错误的是 _______。
A、线性表采用顺序存储必须占用一片连续的存储空间
B、线性表采用链式存储不必占用一片连续的存储空间
C、线性表采用链式存储便于插入和删除操作的实现
D、线性表采用顺序存储便于插入和删除操作的实现
40、【单选题】对于双链表,在两个节点之间插入一个新节点是,需要修改 _______ 个指针域。
A、1
B、2
C、3
D、4
41、【单选题】在单链表中,要删除某一指定的节点,必须找到该节点的 _______ 节点。
A、后继
B、头节点
C、前驱
D、尾节点
42、【单选题】求一个单链表长度的算法的时间复杂度为 _______。
A、O(log2n)
B、 O(n)
C、O(1)
D、 O(<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />)
43、【判断题】线性表中每个元素都有一个前驱元素和一个后继元素。
A、正确
B、错误
44、【判断题】线性表中所有元素的排列顺序必须从小到大或从大到小。
A、正确
B、错误
45、【判断题】静态链表既有顺序存储结构的优点,又有动态链表的优点,所以,利用它存取第i个元素的时间与元素个数n无关。
A、正确
B、错误
46、【判断题】静态链表与动态链表在元素的插入、删除方面类似,不需要做元素的移动。
A、正确
B、错误
47、【判断题】线性表的顺序存储结构优于链式存储结构。
A、正确
B、错误
48、【判断题】在循环单链表中,从表中任一节点出发都可以通过前后移动操作遍历整个循环链表。
A、正确
B、错误
49、【判断题】在单链表中,可以从头节点开始查找任何一个节点。
A、正确
B、错误
50、【判断题】在双链表中,可以从任一节点开始沿着同一方向查找到任何其他节点。
A、正确
B、错误
第三章栈和队列单元测试
1、【单选题】元素A、B、C、D依次进栈后,栈顶元素是 _______。
A、A
B、B
C、C
D、D
2、【单选题】经过以下运算后, x的值是 _______。InitStack (s); Push(s, a); Push(s, b); Pop(s, x); GetTop(s,x)
A、a
B、b
C、1
D、0
3、【单选题】经过以下栈运算后,StackEmpty(s)的值是 _______。InitStack (s); Push(s, a); Push(s, b); Pop(s, x); Pop(s,y)
A、a
B、b
C、1
D、0
4、【单选题】已知一个栈的进栈序列是ABC,出栈序列为CBA,经过栈的操作是 _______。
A、push,pop,push,pop,push,pop
B、push, push, push, pop, pop, pop
C、push, push,pop, pop,push,pop
D、push,pop,push, push,pop, pop
5、【单选题】若元素a、b、c、d、e、f依次进栈,允许进栈、退栈的操作交替进行,但不允许连续3次退栈工作,则不可能得到的出栈序列是 _______。
A、dcebfa
B、cbdaef
C、 bcaefd
D、afedcb
6、【单选题】设一个栈的输入序列为A、B、C、D,则借助一个栈所得的输出序列不可能是_______。
A、ABCD
B、DCBA
C、ACDB
D、DABC
7、【单选题】一个栈的进栈序列是abcde,则栈的不可能的输出序列是 _______。
A、edcba
B、decba
C、dceab
D、abcde
8、【单选题】已知一个栈的进栈序列是1,2,3,…n,其输出序列的第一个元素是i(1≤i≤n),则第j(1≤j≤n)个出栈元素是_______。
A、i
B、n-i
C、j-i+1
D、不确定
9、【单选题】已知一个栈的进栈序列是1,2,3,…n,其输出序列是p1,p2,…pn,若p1=n,则pi的值是_______。
A、i
B、n-i
C、n-i+1
D、不确定
10、【单选题】设n个元素的进栈序列是p1,p2,…pn,其输出序列是1,2,3,…n,若pn=1,则pi(1≤i≤n-1)的值是_______。
A、n-i+1
B、n-i
C、i
D、不确定
11、【单选题】设n个元素的进栈序列是1,2,3,…n,其输出序列是p1,p2,…pn,若p1=3,则p2的值是_______。
A、一定是2
B、一定是1
C、不可能是1
D、以上都不对
12、【单选题】设n个元素的进栈序列是p1,p2,…pn,其输出序列是1,2,3,…n,若p3=1,则p1的值是_______。
A、可能是2
B、一定是2
C、不可能是2
D、不可能是3
13、【单选题】设n个元素的进栈序列是p1,p2,…pn,其输出序列是1,2,3,…n,若p3=3,则p1的值是_______。
A、可能是2
B、一定是2
C、不可能是1
D、一定是1
14、【单选题】设有5个元素的进栈序列是a,b,c,d,e,其输出序列是c,e,d,b,a,则该栈的容量至少是 _______。
A、1
B、2
C、3
D、4
15、【单选题】在数据处理过程中常需要保存一些中间数据,如果后保存的数据先处理,则使用_______来保存这些数据。
A、线性表
B、栈
C、队列
D、单链表
16、【单选题】判定一个顺序栈st为(元素个数最多为MaxSize)空的条件为 _______。
A、st.top==-1
B、 st.top!=-1
C、st.top!=MaxSize
D、st.top==MaxSize
17、【单选题】判定一个顺序栈st为(元素个数最多为MaxSize)为栈满的条件为 _______。
A、 st.top!==-1
B、st.top=-1
C、st.top!=MaxSize-1
D、st.top==MaxSize-1
18、【单选题】表达式a*(b+c)-d的后缀表达式是 _______。
A、a b c d * + -
B、a b c + * d -
C、a b c * + d -
D、- + * a b c d
19、【单选题】若一个栈用数组data[1..n]存储,初始栈顶指针top为n+1,则以下元素x进入栈的正确操作是 _______。
A、top++; data[top]=x;
B、data[top]=x;top++;
C、top--; data[top]=x;
D、data[top]=x;top--;
20、【单选题】若一个栈用数组data[1..n]存储,初始栈顶指针top为n,则以下元素x进入栈的正确操作是 _______。
A、top++; data[top]=x;
B、data[top]=x;top++;
C、top--; data[top]=x;
D、 data[top]=x;top--;
21、【单选题】若一个栈用数组data[1..n]存储,初始栈顶指针top为0,则以下元素x进入栈的正确操作是 _______。
A、top++; data[top]=x;
B、 data[top]=x;top++;
C、top--; data[top]=x;
D、data[top]=x;top--;
22、【单选题】若一个栈用数组data[1..n]存储,初始栈顶指针top为1,则以下元素x进入栈的正确操作是 _______。
A、top++; data[top]=x;
B、data[top]=x;top++;
C、top--; data[top]=x;
D、data[top]=x;top--;
23、【单选题】链栈与顺序栈相比有一个明显的优点,即 _______。
A、插入操作更方便
B、通常不会出现栈满的情况
C、总是不会出现栈空的情况
D、删除操作更加方便
24、【单选题】以下各链表均不带有头节点,其中最不合适用作链栈的链表是 _______。
A、只有表头指针没有表尾指针的循环双链表
B、只有表尾指针没有表头指针的循环双链表
C、只有表尾指针没有表头指针的循环单链表
D、只有表头指针没有表尾指针的循环单链表
25、【单选题】如果以链表作为栈的存储结构,则退栈操作时 _______。
A、必须判断链栈是否为满
B、判断链栈元素的类型
C、必须判断链栈是否空
D、对链栈不做任何判断
26、【单选题】向一个不带头节点的栈顶指针为lst的链栈中插入一个s所指向节点时,则执行 _______。
A、lst->next = s;
B、 s->next=lst->next; lst->next=s;
C、s->next=lst; lst=s;
D、s->next=lst; lst->next=s;
27、【单选题】从一个不带头节点的栈顶指针为lst的栈链中删除一个节点时,用x保存被删节点的值,则执行 _______。
A、 x=lst; lst = lst->next ;
B、x=lst->data
C、lst=lst->next; x=lst->data;
D、x=lst->data; lst= lst->next;
28、【单选题】栈和队列的不同点是 _______。
A、都是线性表
B、都不是线性表
C、栈只能在一端进行插入删除操作,而队列在不同端进行插入删除操作
D、没有不同点
29、【单选题】经过下列运算后,队头的元素是 _______。InitQueue(qu); Enqueue(qu, ‘a’); EnQueue(qu, ‘b’); EnQueue(qu, ‘c’); DeQueue(qu);
A、a
B、b
C、1
D、0
30、【单选题】若某循环队列有队首指针front和队尾指针rear,在队不满时进队操作仅会改变_______。
A、front
B、 rear
C、front和rear
D、以上都不对
31、【单选题】循环队列qu的队满条件(front队首指针指向队首元素的前一位置,rear队尾指针指向队尾元素)是 _______。
A、(qu.rear+1)%maxsize==(qu.front+1)%maxsize
B、(qu.rear+1)%maxsize==qu.front+1
C、(qu.rear+1)%maxsize==qu.front
D、qu.rear==qu.front
32、【单选题】设循环队列中数组的下标是0~N-1,其队头、队尾指针分别为f和r(f指向队首元素的前一位置,r指向队尾元素),则元素个数为 _______。
A、 r-f
B、 r-f-1
C、(r-f)%N+1
D、(r-f+N)%N
33、【单选题】最适合用做链队列的不带表头节点的链表是 _______。
A、带首节点指针和尾节点指针的循环单链表
B、只带尾节点指针的非循环单链表
C、只带首节点指针的非循环单链表
D、只带尾节点指针的循环单链表
34、【单选题】假设用一个不带表头节点的单链表表示队列,在进行删除操作时,_______。
A、仅修改头指针
B、仅修改尾指针
C、头、尾指针都要修改
D、头、尾指针可能都要修改
35、【单选题】假设用一个不带头节点的单链表表示队列,队头和队尾指针分别为front和rear,则判断队空的条件是 _______。
A、 front == rear
B、 front!==NULL
C、 rear!==NULL
D、front == NULL
36、【单选题】最不合适用做链队的不带头节点的链表是 _______。
A、只带队首节点指针的非循环单链表
B、只带队首节点指针的循环双链表
C、只带队尾节点指针的循环双链表
D、以上都不合适
37、【单选题】假设用qu[0..M]实现循环队列,f、r分别为队首元素的前一个位置和队尾位置。若用“(r+1)%(M+1)==f”作为队满的标志,则 _______。
A、可用“f==r”作为队空的标志
B、可用“f > r”作为队空的标志
C、可用“(f+1)%(M+1)==r”作为队空的标志
D、队列中最多可以有M+1个元素
38、【单选题】若用一个大小为6的数组来实现循环队列,且当前rear 和front的值分别是0和3,当从队列中删除一个元素,再加入两个元素后,rear 和front的值分别是_______。
A、1和5
B、2和4
C、4和2
D、5和1
39、【判断题】栈底元素是不能删除的元素。
A、正确
B、错误
40、【判断题】顺序栈中元素值的大小是有序的。
A、正确
B、错误
41、【判断题】n个元素依次进栈,它们的出栈顺序和进栈顺序一定正好相反。
A、正确
B、错误
42、【判断题】栈顶元素和栈底有可能是同一元素。
A、正确
B、错误
43、【判断题】若用s[0..m-1]表示顺序栈的存储空间,则对栈的进栈、出栈操作最多只能进行m次;
A、正确
B、错误
44、【判断题】栈是一种对进栈、出栈操作总次数做了限制的线性表。
A、正确
B、错误
45、【判断题】栈是一种对进栈、出栈操作的次序做了限制的线性表。
A、正确
B、错误
46、【判断题】对顺序栈进行进栈、出栈操作,不涉及元素的前、后移动问题。
A、正确
B、错误
47、【判断题】空栈没有栈顶指针。
A、正确
B、错误
48、【判断题】栈和队列都是限制存取端的。
A、正确
B、错误
49、【判断题】队列是一种对进队、出队操作的次序做了限制的线性表。
A、正确
B、错误
50、【判断题】若用“队首指针的值和队尾指针的值相等”作为循环顺序队为空的标识,则在设置一个空队列时,只需给队首指针和队尾指针赋同一个值,在顺序表地址范围内不管什么值都可以。
A、正确
B、错误
第五章数组与广义表单元测试
1、【单选题】以行序优先顺序存储数组A[5][5];假定A[0][0]的地址为1000, 每个元素占4个字节,下标变量A[4][3]的地址是____。
A、1023
B、1046
C、1069
D、1092
2、【单选题】数组a[1..6][1..5] (无0行0列)以列序优先顺序存储,第一个元素a[1][1]的地址为1000,每个元素占2个存储单元,则a[3][4]的地址是____。
A、1026
B、1038
C、1040
D、1046
3、【单选题】设有一个5行4列的矩阵A,采用行序优先存储方式,A[0][0]为第一个元素,其存储地址为1000,A[2][2]的地址为1040,则A[3][0]的地址为_________。
A、1024
B、1048
C、1060
D、1096
4、【单选题】设有一个10行10列的矩阵A,采用行序优先存储方式,存储全部数据需要400个字节的空间。如果A[0][0]为第一个元素,其存储地址为1000,则A[3][6]的地址为_________。
A、1014
B、1144
C、1036
D、1056
5、【单选题】设有一个10行10列的矩阵A,采用行序优先存储方式。如果A[0][0]为第一个元素,其存储地址为1000,A[2][3]的存储地址为1069,则存储一个元素需要的单元数是_________。
A、1
B、2
C、3
D、4
6、【单选题】不能够对数据元素进行随机访问的物理结构是_________。
A、数组的顺序存储
B、对称矩阵的压缩存储
C、三元组顺序表
D、三对角矩阵的压缩存储
7、【单选题】对特殊矩阵采用压缩存储的目的主要是_________。
A、表达变得简单
B、对矩阵元素的存储变得简单
C、去掉矩阵中的多余元素
D、减少不必要的存储空间
8、【单选题】 对n*n的对称矩阵进行压缩存储,需要保存的数据元素的个数是_________。
A、n
B、<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />
C、n(n+1)
D、n(n+1)/2
9、【单选题】设10*10的对称矩阵下三角保存SA[1..55]中,其中A[1][1]保存在SA[1]中,A[5][3] 保存在SA[k]中,这里k等于_________。
A、12
B、13
C、14
D、15
10、【单选题】 对n行n列的三对角矩阵,需要保存的数据元素的个数是_________。
A、3n
B、<img src="http://img2.ph.126.net/M6JqsehvN6UBbvuGOAL_2g==/6608661917747811041.png" />
C、3n-2
D、n(n+1)
11、【单选题】设10*10三对角矩阵保存SA[1..28]中,其中A[1][1]保存在SA[1]中,A[5][5] 保存在SA[k]中,这里k等于_________。
A、10
B、11
C、12
D、13
12、【单选题】某稀疏矩阵A采用三元组顺序表作为存储结构,对于矩阵元素的赋值运算Assign(A,e,i,j),不可能_________。(在Assign(A,e,i,j)中,e是矩阵元素Ai,j的值,i和j分别为矩阵元素的行号和列号)。
A、修改某个三元组的行号或列号
B、插入一个新的三元组
C、修改某个三元组的元素值
D、删除一个三元组
13、【单选题】对稀疏矩阵进行压缩存储方法一般有两种,分别为________。
A、三元组和对称矩阵
B、对角矩阵和散列
C、散列和十字链表
D、三元组顺序表和十字链表
14、【单选题】下列叙述中,不正确的是__________。
A、数组是一种线性结构
B、数组是一种定长的线性表
C、除了插入与删除操作外,数组的基本操作还有存取、修改、检索和排序等
D、数组的基本操作有存取、修改、检索和排序等,没有插入与删除操作
15、【单选题】 某稀疏矩阵A采用十字链表作为存储结构,对于矩阵元素的赋值运算Assign(A,e,i,j),不可能_________。(在Assign(A,e,i,j)中,e是矩阵元素Ai,j的值,i和j分别为矩阵元素的行号和列号)
A、修改稀疏矩阵的行列数
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) 的表长是______。
A、3
B、4
C、5
D、6
21、【单选题】广义表((a,()),(b,(c)),(()))的深度是______。
A、3
B、4
C、5
D、6
22、【单选题】广义表 ((a,b),(c),(d)) 的表头是______。
A、a,b
B、(a,b)
C、a
D、()
23、【单选题】广义表((a,b),(c),(d))的表尾是______。
A、(d)
B、d
C、(a,b)
D、((c),(d))
24、【单选题】对广义表G=((a, (( ),b)), ((( ),(c,d)),( )))执行tail(head(head(tail(G))))操作的结果是_________。
A、( )
B、c
C、(c,d)
D、((c,d))
25、【单选题】下列叙述中,不正确的是______。
A、对称矩阵只需要存放包括对角线元素在内的下(或上)三角元素即可
B、对角矩阵只需要存放其值不一定为0的对角线上元素
C、稀疏矩阵中值为0的元素较多,因此可以采用三元组方法存储非零元素
D、稀疏矩阵中大量值为0的元素分布有规律,因此可以采用三元组表方法存储
26、【判断题】在一维数组(向量)中,能很方便地通过增加数据元素使数组长度增加。
A、正确
B、错误
27、【判断题】 数组是一种复杂的数据结构,数据元素之间的关系既不是线性的,也不是树型的。
A、正确
B、错误
28、【判断题】数组是一个定长的线性表,所以不能有元素的增加与删除操作。
A、正确
B、错误
29、【判断题】数组的顺序存储结构中,按行序(或列序)优先次序存放数组元素,是为了方便寻址公式的分析。
A、正确
B、错误
30、【判断题】通过数组的顺序存储结构,按行序优先次序保存了数组的全部数据元素,可以通过寻址公式对数组元素进行随机访问。
A、正确
B、错误
31、【判断题】n维数组的存储方案中,每一个数组元素都有n个方向的关系(约束)。
A、正确
B、错误
32、【判断题】 对对称矩阵进行压缩存储,能提高存储效率,其压缩率可低至50%。(压缩率为压缩后的大小与压缩前的大小之比)
A、正确
B、错误
33、【判断题】 对特殊矩阵进行压缩存储后,无法实现对其元素进行随机访问。
A、正确
B、错误
34、【判断题】在特殊矩阵中,有很多值相同的元素并且有规律地分布,所以没有必要重复存储值相同的元素。
A、正确
B、错误
35、【判断题】元素A[i][j]在对称矩阵的下三角位置上的条件是ij。
A、正确
B、错误
36、【判断题】元素A[i][j]在三对角矩阵的三对角位置上的条件是|i-j|≤1。
A、正确
B、错误
37、【判断题】以三元组顺序表存储稀疏矩阵时,可以通过寻址公式对数据元素进行随机访问。
A、正确
B、错误
38、【判断题】以三元组顺序表存储稀疏矩阵时,对元素A[i][j]赋值0,可能会在三元组顺序表中引起三元组(i,j,A[i][j])后面的三元组向前面移动。
A、正确
B、错误
39、【判断题】以三元组顺序表存储稀疏矩阵时,对元素A[i][j]赋值一个非零值,只需要三元组顺序表的最后添加新的三元组(i,j,A[i][j])。
A、正确
B、错误
40、【判断题】以十字链表存储稀疏矩阵时,只能对数据元素进行顺序访问。
A、正确
B、错误
41、【判断题】以十字链表存储稀疏矩阵时,对元素A[i][j]赋值0,一定会在2个单链表中进行结点的删除操作。
A、正确
B、错误
42、【判断题】以十字链表存储稀疏矩阵时,对元素A[i][j]赋值一个非零值,一定会在2个单链表中进行增加结点的操作。
A、正确
B、错误
43、【判断题】当某稀疏矩阵经常进行元素的赋值运算时,十字链表比三元组表更适合作为其存储结构。
A、正确
B、错误
44、【判断题】一个广义表的表头不一定是一个广义表。
A、正确
B、错误
45、【判断题】一个非空广义表的表尾总是一个广义表。
A、正确
B、错误
46、【判断题】广义表的长度是指广义表中括号嵌套的层数。
A、正确
B、错误
47、【判断题】广义表(a,(b,(c,d,((),()))))的深度为5。
A、正确
B、错误
48、【判断题】广义表(a,(b,(c,d,((),()))))的长度为6。
A、正确
B、错误
49、【判断题】广义表中的元素既可以是原子,也可以是广义表。
A、正确
B、错误
50、【判断题】通常广义表的物理结构是链式的。
A、正确
B、错误
第六章树单元测试
1、【单选题】树最适合用来表示 。
A、有序数据元素
B、无序数据元素
C、元素之间具有分支层次关系的数据
D、元素之间无联系的数据
2、【单选题】在树结构中,若结点A有三个兄弟,且B是A的双亲,则B的度是 。
A、3
B、4
C、5
D、2
3、【单选题】下列陈述中正确的是 。
A、二叉树是度为2的有序树
B、二叉树中结点只有一个孩子时无左右之分
C、二叉树中必有度为2的结点
D、二叉树中每个结点最多只有两棵子树,并且有左右之分
4、【单选题】设深度为h的二叉树中只有度为0和度为2的结点,则此类二叉树中所包含结点数至少为 。
A、2h
B、2h-1
C、2h+1
D、h+1
5、【单选题】设深度为h的二叉树中只有度为0和度为2的结点,则此类二叉树中所包含结点数至多为 。
A、<img src="http://img1.ph.126.net/o6G_Rm_dnRl08Y6nuDCosw==/6631582337143954492.png" />
B、<img src="http://img1.ph.126.net/eILza_9vIzsxkBOyt9XNYA==/6631692288306728188.png" />
C、<img src="http://img1.ph.126.net/-XzO6Wrd5R-Hy5EQd0fDXw==/6632622475140639106.png" />
D、<img src="http://img2.ph.126.net/jhFztI_GFRChC2VfpDi4pQ==/6632347597236289607.png" />
6、【单选题】具有n(n0)个结点的完全二叉树的深度为 。
A、élog2(n)ù
B、ë log2(n)û
C、ë log2(n) û+1
D、élog2(n)+1ù
7、【单选题】具有32个结点的完全二叉树有 个叶子结点。
A、14
B、15
C、16
D、17
8、【单选题】一棵完全二叉树的第6层上有23个叶子结点,则此二叉树最多有 结点。
A、78
B、79
C、80
D、81
9、【单选题】具有3个结点的二叉树有 种。
A、3
B、4
C、5
D、6
10、【单选题】若一棵二叉树有9个度为2的结点,5个度为1的结点,则叶子结点的个数为 。
A、9
B、10
C、15
D、不确定
11、【单选题】一棵二叉树有35个结点,则所有结点的度之和为 。
A、35
B、16
C、33
D、34
12、【单选题】二叉树是非线性数据结构,所以 。
A、它不能用顺序存储结构存储
B、它不能用链式存储结构存储
C、顺序存储结构和链式存储结构都能存储
D、顺序结构和链式结构都不能使用
13、【单选题】用顺序存储的方法将n个结点的完全二叉树中所有结点按层逐个依从左至右的次序存放在一维数组R[1:n]中,若结点R[i]有左孩子,则左孩子是 。
A、R[2i-1]
B、R[2i]
C、R[2i+1]
D、R[2i+2]
14、【单选题】一棵深度为k且只有k个结点的二叉树按照完全二叉树顺序存储的方式存放于一个一维数组R[n]中,则n至少是 才能确保正确存储。
A、2k
B、2k+1
C、<img src="http://img1.ph.126.net/FGLHbIBfiKNP2efz_lybig==/2605613859428778640.png" />
D、<img src="http://img2.ph.126.net/_FERaO8srW4EqFXkJxS0Lw==/6608732286492058466.png" />
15、【单选题】以下存储结构中,不是树的存储结构是 。
A、双亲表示法
B、孩子兄弟链表
C、孩子链表存储结构
D、广义表
16、【单选题】用二叉链表表示具有n个结点的二叉树时,值为空的指针域的个数为 。
A、n-1
B、n
C、n+l
D、2n
17、【单选题】二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树一定满足的条件是 。
A、空或只有一个结点
B、高度等于其结点数
C、任一结点无左孩子
D、任一结点无右孩子
18、【单选题】下列二叉树,其后序遍历序列与层次遍历序列相同的非空二叉树是 。
A、满二叉树
B、完全二叉树
C、单支树
D、只有根结点的二叉树
19、【单选题】对二叉树的结点从1开始连续编号,要求每个结点的编号大于其左右子女的编号,同一结点的左、右子女中,其左子女的编号小于其右子女的编号,则可采用 遍历实现二叉树的这种结点编号。
A、先序
B、中序
C、后序
D、层序
20、【单选题】在二叉树中有两个结点m和n,如果m是n的祖先,使用 非递归过程更方便找到从m到n的路径。
A、先序遍历
B、中序遍历
C、后序遍历
D、层次遍历
21、【单选题】不使用栈实现二叉树后序遍历的非递归算法,最佳方案是二叉树的存储结构采用 表示。
A、二叉链表
B、广义表
C、三叉链表
D、顺序表
22、【单选题】在一个非空二叉树的中序序列中,根结点的右边是 。
A、只有右子树上的所有结点
B、只有右子树上的部分结点
C、只有左子树上的部分结点
D、只有左子树上的所有结点
23、【单选题】设某棵二叉树的中序遍历序列为ABCD,先序遍历序列为CABD,则后序遍历该二叉树得到序列为 。
A、BADC
B、BCDA
C、CDAB
D、CBDA
24、【单选题】先序遍历序列为ABC,后序遍历序列为CBA的二叉树共有 棵。
A、1
B、2
C、3
D、4
25、【单选题】若二叉树采用二叉链表存储结构,要交换所有分支结点的左右子树的位置,利用基于 遍历的递归算法最合适。
A、逆中序
B、中序
C、后序
D、层次
26、【单选题】一棵二叉树的先序遍历序列为EFHIGJK,中序遍历序列为HFIEJKG,则该二叉树根结点的右孩子为 。
A、E
B、F
C、G
D、H
27、【单选题】一棵二叉树采用二叉链表存储结构存储,根指针为t,下列递归算法求其先序序列中第k(1≦k≦二叉树中结点的个数)个结点的值,算法的画线处应填的语句是 。<img src="http://edu-image.nosdn.127.net/85AB96C3D4C2793ECB2FF7F4543028BB.jpg?imageView&thumbnail=890x0&quality=100" />
A、 k--
B、n++
C、t = t->lchild
D、t = t->rchild
28、【单选题】二叉树采用二叉链表存储结构存储,根指针为t,下列递归算法求其叶子结点的个数, 算法的画线处应填的语句是 。<img src="http://edu-image.nosdn.127.net/BF685F4A2E559F62F6416B242C3CF562.jpg?imageView
A、t->lchild == NULL
B、t->lchild == NULL && t->rchild != NULL
C、t->rchild == NULL
D、t->lchild == NULL && t->rchild == NULL
29、【单选题】判断线索二叉链表中*p结点有右孩子结点的条件是 。
A、p!=NULL
B、p->rchild!=NULL
C、p->rtag==0
D、p->rtag==1
30、【单选题】将下图所示的二叉树按中序线索化,结点c的左指针与结点h的右指针分别指向 。<img src="http://edu-image.nosdn.127.net/1DC1A1D86E6170065502ED5CC9C1F000.jpg?imageView
A、a, c
B、g, c
C、h, g
D、a, g
31、【单选题】二叉树线索化后,仍不能有效求解的问题是 。
A、先序线索二叉树中求先序后继
B、中序线索二叉树中求中序后继
C、中序线索二叉树中求中序前驱
D、后序线索二叉树中求后序后继
32、【单选题】基于中序线索化链表,其头结点指针为head,对应的二叉树为空的判断条件是 。
A、head==NULL
B、head->lchild==head && head->rchild==head
C、head->ltag==0
D、head->rtag==1
33、【单选题】讨论树、森林和二叉树的关系,目的是________。
A、将树、森林按二叉树的存储结构进行存储,并利用二叉树的算法解决树与森林的有关问题
B、将树、森林转化成二叉树,统一逻辑表示形式
C、只是为了方便定义树、森林的遍历方法
D、体现一种技巧,没有什么实际意义
34、【单选题】设森林F有3棵树,分别有9、8和7个结点,则F此排列次序转换成二叉树后根结点的右子树上结点的个数是 。
A、16
B、15
C、7
D、17
35、【单选题】如果二叉树T2是由一棵树T1转换而来的二叉树,那么T1结点的先根遍历序列对应T2的 序列。
A、先序遍历
B、中序遍历
C、后序遍历
D、层次遍历
36、【单选题】给定一棵树的二叉链表存储结构,把这棵树转换为二叉树后,这棵二叉树的形态是 。
A、唯一的
B、有多种
C、有多种,但根结点都没有左孩子
D、有多种,但根结点都没有右孩子
37、【单选题】由树转换成的二叉树里,一个结点N的左孩子是N在原树里对应结点的 。
A、最左孩子结点
B、最右孩子结点
C、最邻近的右兄弟
D、最邻近的左兄弟
38、【单选题】用13个权值构造哈夫曼树,则该哈夫曼树共有 个结点。
A、13
B、12
C、26
D、25
39、【单选题】对n(n≧2)个权值不同的字符依哈夫曼算法构造哈夫曼树,下面关于该哈夫曼树的叙述中错误的是 。
A、树中一定没有度为1的结点
B、该树一定是一棵完全二叉树
C、树中两个权值最小的结点一定是兄弟结点
D、树中任何一个非叶结点的权值一定不小于下一层任意一个结点的权值
40、【单选题】设一组权值集合W=(2,4,5,7),要求根据这些权值集合构造一棵哈夫曼树,则这棵哈夫曼树的带权路径长度为 。
A、36
B、46
C、35
D、34
41、【判断题】树中元素结点是多对多的关系。
A、正确
B、错误
42、【判断题】树与二叉树是两种不同的树形结构。
A、正确
B、错误
43、【判断题】一棵满二叉树中每棵子树都是完全二叉树。
A、正确
B、错误
44、【判断题】完全二叉树适合使用顺序存储结构
A、正确
B、错误
45、【判断题】对于任意的二叉树,如果其叶子结点数为n0,度为2的结点数为n2,则n2=n0+1。
A、正确
B、错误
46、【判断题】对一棵树进行先根遍历与后根遍历,其中叶子结点出现的相对次序是相同的。
A、正确
B、错误
47、【判断题】由二叉树的某种遍历方式产生的结果是一个线性序列。
A、正确
B、错误
48、【判断题】用二叉树的先序序列和后序序列可以导出它的中序序列。
A、正确
B、错误
49、【判断题】在某种遍历的线索二叉链表中,进行这种遍历时可以直接沿所有右指针一直搜索下去,从而访问所有结点。
A、正确
B、错误
50、【判断题】可以不用栈实现基于中序线索二叉链表对二叉树进行中序遍历。
A、正确
B、错误
51、【判断题】将一棵含有两个以上结点的树转换成二叉树后,该二叉树的根结点没有左子树。
A、正确
B、错误
52、【判断题】树有先根遍历与中根遍历两种遍历方法。
A、正确
B、错误
53、【判断题】树的孩子兄弟表示法是一种二叉链表表示法。
A、正确
B、错误
54、【判断题】二叉树的先序遍历的递归算法的时间复杂度为线性级。
A、正确
B、错误
55、【判断题】在哈夫曼树中,权值较大的叶子结点一般离根结点较远。
A、正确
B、错误
56、【判断题】在哈夫曼编码中,当两个不同字符出现的频率相同时,其编码也相同。
A、正确
B、错误
微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。