数据结构练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、在数据结构中,数据的逻辑结构可以分成
A.内部结构和外部结构 B.线性结构和非线性结构
C.紧凑结构和非紧揍结构 D.动态结构和静态结构
2、带头结点的链表L为空的条件。
A.L->next=NULL
B.L=NULL
C.L->data=NULL
D.L->next->data=NULL
3、在下面的程序段中,对x的赋值语句的频度为
x=1;
while (x<=n)
x=x+2
n)
A.O(2n) B.O(n) C.O(n2) D.O(log
2
4、一个顺序表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是
A、110
B、108
C、100
D、120
5、若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=3,则pi为
A.i B.n-i C.n-i+1 D.不确定
6、有8个结点的无向连通图最少有条边。
A.5 B. 6 C. 7 D. 8
7、在一个单链表L中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行。
A.q->next=p;p->next=q;
B.p->next=q->next;q=p;
C.q->next=p->next;p->next=q;
D.p->next=q->next;q->next=p;
8、设输入队列序列是1,2,3,4,则是其出队列序列。
A. 1,2,3,4,
B. 2,1,3,4,
C. 1,4,3,2,
D. 4,3,1,2,
9、若数据元素之间存在多对多的关系,则该结构称结构
A.集合
B.线性
C.树形
D.图形
10、数组A[1..4,1...5]中含有元素的个数
A. 55
B. 45
C. 20
D. 16
11、以下特征中,不是算法的特性
A.有穷性
B.确定性
C.有0个或多个输出
D.可行性
12、折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,则它将依次与表中比较大小,查找结果是失败。
A.20,70,30,50 B.30,88,70,50 C.20,50 D.30,88,50 13、采用穷举法进行串的模式匹配,主串长度为n,子串长度为m;若匹配成功时,最多比较元素个数
A.n
B.m
C.(n-m+1)*m
D.n-m+1
14、下面关于串的定义正确的是
A.有零个或多个字符组成的有限序列
B.有多个不同字符组成的有限序列
C.有多个空格组成的有限序列
D.有26个英文字符组成的有限序列
15、已知广义表L1=( )和L2=(( ))的长度分别为
A.0,1
B.1,1
C.1,0
D.1,2
二、填空题
1.设一棵完全二叉树具有700个结点,则此完全二叉树有350个叶子结点。
2.一棵树可以唯一的转化成二叉树,转化法则为。
3.具有n个结点的二叉链表中,非空指针的个数为n-1,空指针个数为。
4.已知图G,n个结点e条边,图中所有顶点的度数之和等于。
5.序列进行折半查找的两个前提条件:和序列值有序排列。
四、简答与应用题
1、证明:对于一棵非空二叉树,叶子结点个数为n0,度为2的结点个数为n2,则n0=n2+1。(6分)
2、求下列广义表的运算结果。
(1)Gethead((p,h,w)) = p
(2)Gethead((b,k,h,p)) = b
(3)Gethead(Gethead(((a,b),(c,d)))) =Gethead((a,b))= a
3、写出下列二叉树的先序、中序、后序遍历序列结果
4、根据5个叶子结点a,b,c,d,e的权值集合{3,6,9,2,5}
(1)构成一棵哈弗曼树;
(2)分别求叶子结点a,b,c,d,e对应的哈弗曼编码
5、设哈希(Hash)表的地址范围为0~9,哈希函数为:H(K)=K MOD 10。
K为关键字,用线性探测处理冲突,输入关键字序列:
(10,24,32,17,31,30,46,47,63)
造出Hash表,试回答下列问题:
(1)画出哈希表的示意图;
(2)假定每个关键字的查找概率相等,求查找成功时的平均查找长度。
6、给出查找序列(12,23,45,9,16,88,93,13,66,7,22,100),试画出其相应的二叉排序树。如果查找元素11,需要跟哪些元素比较?