智慧树知到《数据结构》章节测试答案

发布时间:2020-06-05 12:33:45

智慧树知到《数据结构》章节测试答案

第1章 单元测试
1、算法的时间复杂度取决于___。 答案:A和B
2、数据在计算机内存中的表示是指()
答案:数据的存储结构
3、算法指的是( )
答案:求解特定问题的指令有限序列
4、在数据结构中,与所使用的计算机无关的数据结构是()
答案:逻辑
7、某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第12个元素的存储地址为( )。
答案:144
8、算法能正确地实现预定功能的特性称为算法的()。
答案:正确性
第2章 单元测试
1、链表不具备的特点是( )。
答案:可随机访问任意一个结点
3、线性表的顺序存储表示优于链式存储表示。
答案:错
4、顺序存储结构的缺点是不便于修改,插入和删除需要移动很多结点。
答案:对
5、在设头、尾指针的单链表中,与长度n有关的操作是( )。
答案:删除最后一个结点
6、设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B间插入结点X的操作序列为( )。
答案:q->next=s; s->next=p;
7、对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )。
答案:用尾指针表示的循环单链表
8、在一个单链表中,若p所指节点不是最后节点,在p之后插入s所指节点,则执行( )。
答案:s->link=p->link;p->link=s;
9、在双向链表存储结构中,删除p所指的结点时须修改指针____。 答案:p->next->prior=p->prior; p->prior->next=p->next;
10、若事先不知道线性表的长度,则处理线性表时较好的存储结构是( )。
答案:单链表
11、向一个有127个元素的顺序表中插入一个新元素并保存,原来顺序不变,平均要移动( )个元素。
答案:63.5
12、某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第12个元素的存储地址为( )。
答案:144
13、在一个以 h 为头的单循环链表中,p 指针指向链尾的条件是( )。
答案:p->next == h
14、在表头指针为head 且表长大于1的单向循环链表中,指针p 指向表中的某个结点,若p->next->next=head,则( )。
答案:*p的直接后继是尾结点
15、线性表若采用链式存储结构时,要求内存中可用存储单元的地址___。 答案:连续或不连续都可以
16、在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( )。
答案:p->next=p->next->next;
17、可以用带表头结点的链表表示线性表,也可以用不带表头结点的链表表示线性表,前者最主要的好处是()
答案:使空表和非空表的处理统一
18、与单链表相比,双向链表的优点之一是( )。
答案:顺序访问相邻结点更加灵活
19、如果最常用的操作是取第i个结点及其前驱,最节省时间的存储方式( )。
答案:顺序表
21、对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。插入一个元素时平均要移动表中的( )个元素。
答案:n/2
22、链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。
答案:√
23、在一个带头结点的双向循环链表中,若要在p所指向的结点之前插入一个新结点,则需要相继修改( )个指针域的值。
答案:4
24、具有线性关系的集合中,若a,b是集合中的任意两个元素,则必有a
答案:错
第3章 单元测试
1、设abcdef以所给次序进栈,若在进栈操作时允许退栈,则下列得不到的序列为()
答案:cabdef
2、若已知一个栈的进栈序列是1,2,3……n,其输出序列是p1,p2,p3,pn, 若p1=3, 则p2为()
答案:可能是2
3、假定循环队列的队首和队尾指针分别为front和rear,则判断队满的条件为( )。
答案:(rear+1) mod MAXSIZE = = front
4、队列和栈都是运算受限的线性表,只允许在表的两端进行运算。
答案:对
6、两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
答案:×
7、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。
答案:(rear-front+m)%m
8、不论栈是用数组实现,还是用链表实现,入栈和出栈的时间复杂度均为O(n)。
答案:错
9、若栈采用顺序存储方式存储,两栈共享空间A[1..m],top代表第i个栈(i=1, 2)的栈顶,栈1的底在A[1],栈 2的底在A[m],则栈满的条件是()。
答案:top[1]+1=top[2]
10、输入序列为ABC,若出栈的顺序为CBA时,经过的栈操作为( ) 。
答案:push,push,push,pop,pop,pop
11、栈和队都是( )。
答案:限制存取点的线性结构
13、链栈与顺序栈相比,有一个比较明显的优点是( )。
答案:通常不会出现栈满的情况
14、设计一个判别表达式中左,右括号是否配对出现的算法,采用()数据结构最佳
答案:线性表的顺序存储结构
第4章 单元测试
8、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第1个元素,其存储地址为1,每个元素占用1个地址空间,则a85的地址为()。
答案:33
9、对于以行为主序的存储结构来说.在数组A[c1..d1,c2..d2]中,c1和d1分别为数组A的第一维下标的下、上界,c2和d2分别为第二维下标的下、上界.每个数据元素占k个存储单元,二维数组中任一元素a[i,j]的存储位置可由( )确定。
答案:Loc[i,j]=[Loc[c1,c2]+[(d2-c2+1)(i-c1)+(j-c2)] ×k
10、A[N,N]是对称矩阵,将下面三角(包括对角线)以行序存储到一维数组T[N(N+1)/2]中,则对任一上三角元素a[j]对应T[k]的下标k是
答案:j(j-1)/2+i
11、对矩阵压缩存储是为了
答案:减少存储空间
第5章 单元测试
1、二叉树是非线性数据结构,所以( )。
答案:顺序存储结构和链式存储结构都能存储
4、二叉树中所有结点个数是2k-1-1,其中k是树的深度
答案:错
5、二叉树中每个结点有两棵非空子树或有两棵空子树
答案:错
6、在只有度为0和度为2的二叉树中 ,设度为0的结点有n0个,度为2的结点有n2个,则有n0=n2+1。
答案:对
7、树中所有结点的度之和等于所有结点数减1。
答案:对
8、设森林F中有4棵树,第1、2、3、4棵树的结点个数分别为n1、n2、n3、n4,当把森林F转换成一棵二叉树后,其根结点的左子树中有n1个结点。
答案:错
9、设Huffman树的叶子结点数为m,则结点总数为2m-1。
答案:对
15、某二叉树中序序列为BDAECF,后序序列为DBEFCA,则二叉树对应的森林包括( )棵树。
答案:3
16、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( )。
答案:11
17、任何一棵二叉树的叶子结点在前序、中序和后序遍历序列中的相对次序( )。
答案:不发生改变
18、设某棵二叉树的高度为9,则该二叉树上叶子结点最多有( )。
答案:256
19、若完全二叉树的结点个数为100,则第60个结点的度为( )。
答案:0
20、树的基本遍历策略分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。这里,我们把由树转化得到的二叉树叫做这棵树对应的二叉树,其中结论( )是正确的。
答案:树的先根遍历序列与其对应的二叉树的先序遍历序列相同
21、某二叉树的先序和后序遍历序列正好相反,则该二叉树一定是( )。
答案:深度等于其结点数
22、一棵二叉树的高度为h,所有结点的度或为0或为2,则这棵二叉树最少有( )个结点。
答案:2h-1
23、如果一棵二叉树中所有结点的值都大于其左子树中的所有结点的值,且小于其右子树中所有结点的值,现欲得到各个结点的递增序列,采用的方法是( )。
答案:中序遍历
24、设n,m为一棵二叉树上的两个结点,在中序遍历中 ,n在m前的条件是( )。
答案:n在m的左子树上
25、深度为5的二叉树至多有 个结点( )
答案:31
26、由权值分别为 11、 8、 6、 2 、 5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
答案:71
27、如果一个完全二叉树最底下一层为第六层(根为第一层)且该层共有8个叶结点,那么该完全二叉树共有多少个结点?( )
答案:39
28、某二叉树的前序遍历序列为ABDGCEFH,中序遍历序列为DGBAECHF,则后序遍历序列为( )。
答案:GDBEHFCA
29、一个具有1025个结点的二叉树的高h为( )
答案:11到1025之间
30、设森林中有三棵树,第一、二、三棵树的结点个数分别为n1、n2、n3,那么将森林转换成二叉树后,其根结点的右子树上有( )个结点。
答案:n2+n3
第6章 单元测试
1、任何一个无向连通图的最小生成树 ( ) 。
答案:有一棵或多棵
2、用邻接表表示图进行广度优先遍历时,通常是采用 来实现算法的。
答案:队列
3、在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。
答案:1
4、已知有向图G = (V, E),其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑有序序列是()。
答案:V1,V3,V4,V6,V2,V5,V7
5、对于含有n个顶点的带权连通图,它的最小生成树是指图中任意一个()。
答案:由n个顶点构成的边的权值之和最小的连通子图
6、用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间与图中结点的个数有关,而与图的边数无关。
答案:对
7、如果有向图的所有顶点可以构成一个拓扑排序,则说明该有向图存在回路。
答案:错
8、一个非空图可以没有边,但不能没有顶点。
答案:对
9、有n-1条边的图肯定都是生成树。
答案:错
第7章 单元测试
1、有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当用二分法查找值82的结点时,()次比较后查找成功。
答案:2
7、若根据查找表建立长度为m的哈希表,采用线性探测法处理冲突,假定对一个元素第一次计算的哈希地址为d,则下一次的哈希地址为(  )。
答案:(d+1)%m
8、若根据查找表(23,44,36,48,52,73,64,58)建立哈希表,采用h(K)=K%13计算哈希地址,则元素64的哈希地址为(  )。
答案:12
9、从具有n个结点的二叉排序树中查找一个元素时,在最坏情况下的时间复杂度为(  )。
答案:O(n)
10、对具有 n 个元素的有序表采用折半查找,则算法的时间复杂度为( )。
答案:O(log2n)
11、对于长度为18的顺序存储的有序表,若采用折半查找,则查找第15个元素的比较次数为(  )。
答案:4
12、二叉排序树的左右子树都是二叉排序树。
答案:对
13、1. 若查找每个元素的概率相等,则在长度为 n 的顺序表上查找任一元素的平均查找长度为( )。
答案:n+1/2
第8章 单元测试
1、69、 如果对n个元素进行直接选择排序,则进行任一趟排序的进程中,为寻找最小值元素所需要的时间复杂度为()
答案:O(n)
3、下列排序算法中,其中( )是稳定的。
答案:归并排序,冒泡排序
4、下列序列中,( )是执行第一趟快速排序后所得的序列。
答案:[27,38,18] 49 [93,73]
5、(15,9,7,8,20,-1,4)进行排序,第一趟排序后的序列变为(-1,9,7,8,20,15,4),则采用的排序方法是( )。
答案:简单选择排序
8、从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的排序方法称为( )。
答案:插入排序
9、从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为( )。
答案:选择排序
10、对m个不同的关键字由小到大进行冒泡排序,当( )时比较的次数最多。
答案:从大到小排列
11、69、 一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()
答案:40,38,46,56,79,84
13、希尔排序又称缩小增量排序,其最后一趟排序的增量为( )。
答案:1
14、希尔排序是稳定的排序算法。
答案:错
15、设有1000个无序的元素,希望用最快的速度的选出其中前10个最大的元素,最好选用()的排序法。
答案:堆排序
16、对一组数据{84,45,20,10,16}排序,数据的排列次序在排序过程中的变化为: (1){84,45,20,10,16} (2){10,45,20,84,16} (3){10,16,20,84,45} (4){10,16,20,45,84} 该排序算法是以下哪种()

答案:简单选择排序

第一章
1、算法的时间复杂度取决于 。
A:问题的规模
B:待处理问题的初态
C:问题的难度
D:A 和B
正确答案:问题的规模
2、数据在计算机内存中的表示是指()
A:数据的存储结构
B:数据结构
C:数据的逻辑结构
D:数据元素之间的关系
正确答案:数据的存储结构
3、算法指的是()
A:计算机程序
B:解决问题的计算方法
C:排序算法
D:解决问题的有限运算序列
正确答案:解决问题的有限运算序列
4、在数据结构中,与所使用的计算机无关的数据结构是()
A:逻辑
B:存储
C:逻辑和存储
D:物理
正确答案:逻辑
7、某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第12个元素的存储地址为( )。
A:144
B:145
C:147
D:148
正确答案:144
8、算法能正确地实现预定功能的特性称为算法的()。
A:正确性
B:可读性
C:健壮性
D:高效性
正确答案:正确性
第二章
1、链表不具备的特点是( )。
A:可随机访问任意一个结点
B:插入和删除不需要移动任何元素
C:不必事先估计存储空间
D:所需空间与其长度成正比
正确答案:可随机访问任意一个结点
3、线性表的顺序存储表示优于链式存储表示。
A:对
B:错
正确答案:错
4、顺序存储结构的缺点是不便于修改,插入和删除需要移动很多结点。
A:对
B:错
正确答案:对
5、在设头、尾指针的单链表中,与长度n有关的操作是( )。
A:删除第一个结点
B:删除最后一个结点
C:在第一个结点之前插入一个结点
D:在p结点之后插入一个结点
正确答案:删除最后一个结点
6、设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B间插入结点X的操作序列为( )。
A:s->next=p->next;p->next=-s;
B:q->next=s; s->next=p;
C:p->next=s->next;s->next=p;
D:p->next=s;s->next=q;
正确答案:q->next=s; s->next=p;
7、对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )。
A:顺序表
B:用头指针表示的循环单链表
C:用尾指针表示的循环单链表
D:单链表
正确答案:用尾指针表示的循环单链表
8、在一个单链表中,若p所指节点不是最后节点,在p之后插入s所指节点,则执行( )。
A:s->link=p;p->link=s;
B:s->link=p->link;p->link=s;
C:s->link=p->link;p=s;
D:p->link=s;s->link=p;
正确答案:s->link=p->link;p->link=s;
9、在双向链表存储结构中,删除p所指的结点时须修改指针( )。
A:p->next->prior=p->prior; p->prior->next=p->next;
B:p->next=p->next->next; p->next->prior=p;
C:p->prior->next=p; p->prior=p->prior->prior;
D:p->prior=p->next->next; p->next=p->prior->prior;
正确答案:p->next->prior=p->prior; p->prior->next=p->next;
10、若事先不知道线性表的长度,则处理线性表时较好的存储结构是( )。
A:单链表
B:静态链表
C:顺序表
D:B和C
正确答案:单链表
11、向一个有127个元素的顺序表中插入一个新元素并保存,原来顺序不变,平均要移动( )个元素。
A:8
B:63.5
C:63
D:7
正确答案:63.5
12、某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第12个元素的存储地址为( )。
A:144
B:145
C:147
D:148
正确答案:144
13、在一个以 h 为头的单循环链表中,p 指针指向链尾的条件是( )。
A:p->next == h
B:p->next == NULL
C:p->next->next == h
D:p->data == -1
正确答案:p->next == h
14、在表头指针为head 且表长大于1的单向循环链表中,指针p 指向表中的某个结点,若p->next->next=head,则( )。
A:p指向头结点
B:p指向尾结点
C:p的直接后继是头结点
D:p的直接后继是尾结点
正确答案:*p的直接后继是尾结点
15、线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。
A:必须是连续的
B:部分地址必须是连续的
C:一定是不连续的
D:连续不连续都可以
正确答案:连续不连续都可以
16、在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( )。
A:p=p->next;
B:p->next=p->next->next;
C:p->next=p;
D:p=p->next->next;
正确答案:p->next=p->next->next;
17、可以用带表头结点的链表表示线性表,也可以用不带表头结点的链表表示线性表,前者最主要的好处是( )。
A:可以加快对表的遍历
B:使空表和非空表的处理统一
C:节省存储空间
D:可以提高存取元素的速度
正确答案:使空表和非空表的处理统一
18、与单链表相比,双向链表的优点之一是( )。
A:插入、删除操作更加简单
B:可以随机访问
C:可以省略表头指针或表尾指针
D:顺序访问相邻结点更加灵活
正确答案:顺序访问相邻结点更加灵活
19、如果最常用的操作是取第i个结点及其前驱,最节省时间的存储方式( )。
A:单链表
B:双向链表
C:单循环链表
D:顺序表
正确答案:顺序表
21、对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。插入一个元素时平均要移动表中的( )个元素。
A:n/2
B:(n+1)/2
C:(n-1)/2
D:n
正确答案:n/2
22、链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。
A:对
B:错
正确答案:对
23、在一个带头结点的双向循环链表中,若要在p所指向的结点之前插入一个新结点,则需要相继修改( )个指针域的值。
A:2
B:3
C:4
D:5
正确答案:4
24、具有线性关系的集合中,若a,b是集合中的任意两个元素,则必有a
A:对
B:错
正确答案:错
第三章
1、设abcdef以所给次序进栈,若在进栈操作时允许退栈,则下列得不到的序列为()
A:fedcba
B:bcafed
C:dcefba
D:cabdef
正确答案:
2、若已知一个栈的进栈序列是1,2,3……n,其输出序列是p1,p2,p3,pn, 若p1=3,则p2为()
A:可能是2
B:一定是2
C:可能是1
D:一定是1
正确答案:
3、假定循环队列的队首和队尾指针分别为front和rear,则判断队满的条件为( )。
A:front+1 = = rear
B:(rear+1) mod MAXSIZE = = front
C:front = = 0
D:front= =rear
正确答案:
4、队列和栈都是运算受限的线性表,只允许在表的两端进行运算。
A:对
B:错
正确答案:
6、两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
A:对
B:错
正确答案:
7、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。
A:(rear-front+m)%m
B:rear-front+1
C:rear-front-1
D:rear-front
正确答案:
8、不论栈是用数组实现,还是用链表实现,入栈和出栈的时间复杂度均为O(n)。
A:对
B:错
正确答案:
9、若栈采用顺序存储方式存储,两栈共享空间A[1..m],top代表第i个栈(i=1, 2)的栈顶,栈1的底在A[1],栈 2的底在A[m],则栈满的条件是()。
A:|top[2]-top[1]|=0
B: top[1]+1=top[2]
C:top[1]+top[2]=m
D:top[1]=top[2]
正确答案:
10、输入序列为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
正确答案:
11、栈和队都是( )。
A:顺序存储的线性结构
B:链式存储的非线性结构
C:限制存取点的线性结构
D:限制存取点的非线性结构
正确答案:
13、链栈与顺序栈相比,有一个比较明显的优点是( )。
A: 插入操作更方便
B:删除操作更方便
C:通常不会出现栈满的情况
D:会出现栈空的情况
正确答案:
14、设计一个判别表达式中左,右括号是否配对出现的算法,采用( )数据结构最佳。
A:线性表的顺序存储结构
B:队列
C:线性表的链式存储结构
D:栈
正确答案:
第四章
8、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第1个元素,其存储地址为1,每个元素占用1个地址空间,则a85的地址为()。
A:13
B:33
C:18
D:40
正确答案:
9、对于以行为主序的存储结构来说.在数组A[c1..d1,c2..d2]中,c1和d1分别为数组A的第一维下标的下、上界,c2和d2分别为第二维下标的下、上界.每个数据元素占k个存储单元,二维数组中任一元素a[i,j]的存储位置可由( )确定。
A:Loc[i,j]=[(d2-c2+1)(i-c1)+(j-c2)] ×k
B:Loc[i,j]=[Loc[c1,c2]+[(d2-c2+1)(i-c1)+(j-c2)] ×k
C: Loc[i,j]=A[c1,c2]+[(d2-c2+1)(i-c1)+(j-c2)] ×k
D: Loc[i,j]=Loc[0,0]+[(d2-c2+1)(i-c1)+(j-c2)] ×k
正确答案:
10、A[N,N]是对称矩阵,将下面三角(包括对角线)以行序存储到一维数组T[N(N+1)/2]中,则对任一上三角元素a[j]对应T[k]的下标k是
A:i(i-1)/2+j
B: j(j-1)/2+i
C: i(j-i)/2+1
D: j(i-1)/2+1
正确答案:
11、对矩阵压缩存储是为了
A:方便运算
B:方便存储
C:提高运算速度
D:减少存储空间
正确答案:
第五章
1、二叉树是非线性数据结构,所以 。
A:它不能用顺序存储结构存储
B:它不能用链式存储结构存储
C:顺序存储结构和链式存储结构都能存储
D:顺序存储结构和链式存储结构都不能使用
正确答案:
4、二叉树中所有结点个数是2k-1-1,其中k是树的深度。
A:对
B:错
正确答案:
5、二叉树中每个结点有两棵非空子树或有两棵空子树。
A:对
B:错
正确答案:
6、在只有度为0和度为2的二叉树中 ,设度为0的结点有n0个,度为2的结点有n2个,则有n0=n2+1。
A:对
B:错
正确答案:
7、树中所有结点的度之和等于所有结点数减1。
A:对
B:错
正确答案:
8、设森林F中有4棵树,第1、2、3、4棵树的结点个数分别为n1、n2、n3、n4,当把森林F转换成一棵二叉树后,其根结点的左子树中有n1个结点。
A:对
B:错
正确答案:
9、设Huffman树的叶子结点数为m,则结点总数为2m-1。
A:对
B:错
正确答案:
15、某二叉树中序序列为BDAECF,后序序列为DBEFCA,则二叉树对应的森林包括( )棵树。
A:1
B:2
C:3
D:4
正确答案:
16、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( )。
A:9
B:11
C:15
D:不能确定
正确答案:
17、任何一棵二叉树的叶子结点在前序、中序和后序遍历序列中的相对次序( )。
A:不发生改变
B:发生改变
C:不能确定
D:以上都不对
正确答案:
18、设某棵二叉树的高度为9,则该二叉树上叶子结点最多有( )。
A:512
B:511
C:1023
D:256
正确答案:
19、若完全二叉树的结点个数为100,则第60个结点的度为( )。
A:2
B:1
C:0
D:不确定
正确答案:
20、树的基本遍历策略分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。这里,我们把由树转化得到的二叉树叫做这棵树对应的二叉树,其中结论( )是正确的。
A:树的先根遍历序列与其对应的二叉树的先序遍历序列相同
B:树的后根遍历序列与其对应的二叉树的后序遍历序列相同
C:树的先根遍历序列与其对应的二叉树的中序遍历序列相同
D:以上都不对
正确答案:
21、某二叉树的先序和后序遍历序列正好相反,则该二叉树一定是( )。
A:空或只有一个结点
B:完全二叉树
C:二叉排序树
D:深度等于其结点数
正确答案:
22、一棵二叉树的高度为h,所有结点的度或为0或为2,则这棵二叉树最少有( )个结点。
A:2h
B:2h-1
C:2h+1
D:h+1
正确答案:
23、如果一棵二叉树中所有结点的值都大于其左子树中的所有结点的值,且小于其右子树中所有结点的值,现欲得到各个结点的递增序列,采用的方法是( )。
A:前序遍历
B:后序遍历
C:中序遍历
D:层次遍历
正确答案:
24、设n,m为一棵二叉树上的两个结点,在中序遍历中 ,n在m前的条件是( )。
A:n 在m右子树上
B:n是m的祖先
C:n在m的左子树上
D:n是m的子孙
正确答案:
25、深度为5的二叉树至多有( )个结点。
A:16
B:32
C:31
D:10
正确答案:
26、由权值分别为 11、 8、 6、 2 、 5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A:24
B:71
C:48
D:53
正确答案:
27、如果一个完全二叉树最底下一层为第六层(根为第一层)且该层共有8个叶结点,那么该完全二叉树共有多少个结点?( )
A:31
B:39
C:63
D:71
正确答案:
28、某二叉树的前序遍历序列为ABDGCEFH,中序遍历序列为DGBAECHF,则后序遍历序列为( )。
A:BDGCEFHA
B:GDBECFHA
C:BDGAECHF
D:GDBEHFCA
正确答案:
29、一个具有1025个结点的二叉树的高h为( )。
A:11
B:10
C:11至1025之间
D:10至1024之间
正确答案:
30、设森林中有三棵树,第一、二、三棵树的结点个数分别为n1、n2、n3,那么将森林转换成二叉树后,其根结点的右子树上有( )个结点。
A:n1
B:n1-1
C:n2+n3
D:其他情况
正确答案:
第六章
1、任何一个无向连通图的最小生成树
A:只有一棵
B:一棵或多棵
C:一定有多棵
D:可能不存在
正确答案:
2、用邻接表表示图进行广度优先遍历时,通常是采用 来实现算法的。
A:栈
B:队列
C:树
D:图
正确答案:
3、在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的 倍。
A:1/2
B:1
C:2
D:4
正确答案:
4、已知有向图G = (V, E),其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑有序序列是()。
A: V1,V3,V4,V6,V2,V5,V7
B:V1,V3,V2,V6,V4,V5,V7
C:V1,V3,V4,V5,V2,V6,V7
D:V1,V2,V5,V3,V4,V6,V7
正确答案:
5、 对于含有n个顶点的带权连通图,它的最小生成树是指图中任意一个()。
A: 由n-1条权值最小的边构成的子图
B:由n-1条权值之和最小的边构成的子图
C:由n-1条权值之和最小的边构成的连通子图
D:由n个顶点构成的边的权值之和最小的连通子图
正确答案:
6、用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间与图中结点的个数有关,而与图的边数无关。
A:对
B:错
正确答案:
7、如果有向图的所有顶点可以构成一个拓扑排序,则说明该有向图存在回路。
A:对
B:错
正确答案:
8、一个非空图可以没有边,但不能没有顶点。
A:对
B:错
正确答案:
9、有n-1条边的图肯定都是生成树。
A:对
B:错
正确答案:
第七章1、有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当用二分法查找值82的结点时,()次比较后查找成功。
A:1
B:2
C:4
D:8
正确答案:
7、若根据查找表建立长度为 m 的哈希表,采用线性探测法处理冲突,假定对一个元素第一次计算的哈希地址为 d,则下一次的哈希地址为( )。
A:d
B:d+1
C:(d+1)/m
D:(d+1)%m
正确答案:
8、若根据查找表(23,44,36,48,52,73,64,58)建立哈希表,采用 h(K)=K%13 计算哈希地址,则元素 64 的哈希地址为( )。
A:4
B:8
C:12
D:13
正确答案:
9、从具有 n 个结点的二叉排序树中查找一个元素时,在最坏情况下的时间复杂度为( )。
A:O(n)
B:O(1)
C:O(log2n)
D:O(n2)
正确答案:
10、对具有 n 个元素的有序表采用折半查找,则算法的时间复杂度为( )。
A:O(n)
B:O(n2)
C:O(1)
D:O(log2n)
正确答案:
11、对于长度为 18 的顺序存储的有序表,若采用折半查找,则查找第 15 个元素的比较次数为( )。
A:3
B:4
C:5
D:6
正确答案:
12、二叉排序树的左右子树都是二叉排序树。
A:对
B:错
正确答案:
13、1. 若查找每个元素的概率相等,则在长度为 n 的顺序表上查找任一元素的平均查找长度为( )。
A:n
B:n+1
C:n-1/2
D:n+1/2
正确答案:
第八章
1、69、 如果对n个元素进行直接选择排序,则进行任一趟排序的进程中,为寻找最小值元素所需要的时间复杂度为()
A:O(1)
B:O(logn)
C:O(n2)
D:O(n)
正确答案:
3、下列排序算法中,其中( )是稳定的。
A:快速排序,冒泡排序
B:简单选择排序,归并排序
C:快速排序,堆排序
D: 归并排序,冒泡排序
正确答案:
4、下列序列中,( )是执行第一趟快速排序后所得的序列。
A:[27,38,73] 49 [93,18]
B:[27,38,93] 49 [18,73]
C:[27,38,18] 49 [93,73]
D:[93,38,18] 49 [27,73]
正确答案:
5、(15,9,7,8,20,-1,4)进行排序,第一趟排序后的序列变为(-1,9,7,8,20,15,4),则采用的排序方法是( )。
A:简单选择排序
B:直接插入排序
C:希尔排序
D:快速排序
正确答案:
8、从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的排序方法称为( )。
A:选择排序
B:希尔排序
C:堆排序
D:插入排序
正确答案:
9、从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为( )。
A:快速排序
B:直接插入排序
C:选择排序
D:冒泡排序
正确答案:
10、对m个不同的关键字由小到大进行冒泡排序,当( )时比较的次数最多。
A:从大到小排列
B:从小到大排列
C:元素基本有序
D:元素无序
正确答案:
11、69、 一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()
A:38,40,46,56,79,84
B:40,38,46,79,56,84
C:40,38,46,56,79,84
D:40,38,46,84,56,79
正确答案:
13、希尔排序又称缩小增量排序,其最后一趟排序的增量为( )。
A:1
B:2
C:3
D:0
正确答案:
14、希尔排序是稳定的排序算法。
A:对
B:错
正确答案:
15、设有1000个无序的元素,希望用最快的速度的选出其中前10个最大的元素,最好选用()的排序法。
A:冒泡排序
B:快速排序
C:堆排序
D:选择排序
正确答案:
16、对一组数据{84,45,20,10,16}排序,数据的排列次序在排序过程中的变化为: (1){84,45,20,10,16} (2){10,45,20,84,16} (3){10,16,20,84,45} (4){10,16,20,45,84} 该排序算法是以下哪种()
A:简单选择排序
B: 冒泡排序
C: 快速排序
D: 直接插入排序
正确答案:

以上问题属网友观点,不代表本站立场,仅供参考!