《数据结构与算法》期末练习题(含答案)Word文件下载.doc
《《数据结构与算法》期末练习题(含答案)Word文件下载.doc》由会员分享,可在线阅读,更多相关《《数据结构与算法》期末练习题(含答案)Word文件下载.doc(23页珍藏版)》请在冰豆网上搜索。
A.nlog2nB.log2nC.ë
log2nû
|+1D.不确定
6.从下列有关树的叙述中,选出正确的叙述(C)
A.二叉树中每个结点有两个子结点,而树无此限制,因此二叉树是树的特殊情况。
B.当K≥1时高度为K的二叉树至多有2k-1个结点。
C.哈夫曼树是带权路径最短的树,路径上权值较大的结点离根较近。
D.在二叉树中插入结点,该二叉树便不再是二叉树。
7.设无向图的顶点个数为n,则该图最多有(B)条边。
A.n-1B.n(n-1)/2C.n(n+1)/2D.0E.n2
8.已知有向图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)。
A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V2,V6,V4,V5,V7
C.V1,V3,V4,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V7
9.下列排序算法中,其中(D)是稳定的。
A.堆排序,冒泡排序B.快速排序,堆排序
C.希尔排序,归并排序D.归并排序,冒泡排序
10.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为
(1)8447251521
(2)1547258421(3)1521258447(4)1521254784
11.则采用的排序是(A)。
A.选择B.冒泡C.快速D.插入
12.以下数据结构中,哪一个是线性结构(D)?
A.广义表B.二叉树C.稀疏矩阵D.串
13.下面关于线性表的叙述中,错误的是哪一个?
(B)
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
14.设一个栈的输入序列是1,2,3,4,5,则下列序列中,是栈的合法输出序列的是(D)。
A.51234B.45132C.43125D.32154
15.设n为正整数.下列程序段中前置以@的语句的频度为(B)。
i=1;
k=0;
do{
@k+=10*i;
i++;
}While(i<
=n-1);
A.n–1B.nC.n+1D.n-2
16.一棵具有n个结点的完全二叉树的树高度(深度)是(A)
A.ë
lognû
+1B.logn+1C.ë
D.logn-1
17.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<
=i<
=n)个元素是(B)。
A.不确定B.n-i+1C.iD.n-i
18.n个结点的完全有向图含有边的数目( D )。
A.n*nB.n(n+1)C.n/2D.n*(n-l)
19.稳定的排序方法是(B)
A.直接插入排序和快速排序B.折半插入排序和起泡排序
C.希尔排序和四路归并排序D.树形选择排序和shell排序
20.有一组数据(15,9,7,8,20,-1,7,4)用快速排序的划分方法进行一趟划分后数据的排序为(A)(按递增序)。
A.下面的B,C,D都不对。
B.9,7,8,4,-1,7,15,20
C.20,15,8,9,7,-1,4,7D.9,4,7,8,7,-1,15,20
21.以下那一个术语与数据的存储结构无关?
(A)
A.栈B.哈希表C.线索树D.双向链表
22.下面关于串的的叙述中,哪一个是不正确的?
(B)
A.串是字符的有限序列B.空串是由空格构成的串
C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储
23.某堆栈的输入序列为a,b,c,d,下面的四个序列中,不可能是它的输出序列的是(D)。
A.a,c,b,dB.b,c,d,aC.c,d,b,aD.d,c,a,b
24.关于二叉树的叙述:
①只有一个结点的二叉树的度为0;
②二叉树的度为2;
③二叉树的左右子树可任意交换;
④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
正确的是(D)
A.①②③B.②③④C.②④D.①④
25.高度为K的二叉树最大的结点数为(C)。
A.2k B.2k-1C.2k-1 D.2k-1-1
26.从下列有关树的叙述中,选出正确的叙述(C)
C.用树的前序遍历和中序遍历可以导出树的后序遍历。
D.哈夫曼树是带权路径最长的树,路径上权值较大的结点离根较近。
27.关键路径是事件结点网络中(A)。
A.从源点到汇点的最长路径B.从源点到汇点的最短路径
C.最长回路D.最短回路
28.用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应的顶点,则输出的顶点序列是(A)。
A.逆拓扑有序B.拓扑有序C.无序的
29.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为(C)。
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)
30.一个向量的第一个元素的地址是begin,每个元素的长度是k,则第i个元素的地址是(D)
A.begin+(k-1)iB.begin+(k-2)iC.begin+kiD.begin+(i-1)k
31.有一个有序表为{1,3,9,12,32,41,45,62,77,88,92,100},用折半查找法,若要找63,要经过(C)次与63比较。
A.12B.6C.4D.5
32.一个序列的初始状态为(46,77,82,53,31,70),今对其进行冒泡排序,当进行两趟冒泡后,序列中的元素排列为(D)。
A.(31,46,70,53,77,82)
B.(46,77,53,31,70,82)
C.(46,31,82,53,77,70)
D.(46,53,31,70,77,82)
33.将一个长度为n的向量的第i个元素删除时,需要前移(B)个元素。
A.iB.n-iC.n+1D.n-i+1
34.不带表头的单链表,头指针为head,判断其是否为空的条件是(A)
A.head==0B.head->
next==nullC.head==headD.head->
next==head
35.在一个单链表中,已知*q是(*q表示指针q所指的结点,以下同)*p的前驱结点,在*q之后插入结点*s,正确的操作步骤序列是(A)。
A)q->
next=s;
s->
next=pB)s->
next=p->
next;
q->
C)p->
nexr=s;
next=p;
D)p->
next=q;
36.非空循环链表head的尾结点*p满足下列(C)条件
A)head->
next==p;
B)head==p;
C)p->
next==head;
D)p->
next==0
37.一个栈的输入序列是a,b,c,d,e,则可能的出栈序列是(D)。
A.ecdabB)cebdaC)daecbD)abcde
38.设栈s的类型为sqstack,判定栈空的条件是(C)。
A.s==NULLB)s->
top==0C)s.top==0D)s.top==NULL
39.深度为5的二叉树至多有个(B)结点。
A.12B.31C.14D.15
40.已知二叉树的后、中根序列分别是bedfca和badecf,则该二叉树的前根遍历序列是(C)。
A)defbcaB)fedbcaC)abcdefD)fedcba
41.一个有n个顶点的有向图最多有(B)弧。
A)n(n+1)B)n(n-1)C)n(n+1)/2D)n(n-1)/2
42.具有n个顶点的无向图至少要有(B)条边才有可能是一个连通图。
A)n(n+1)