综合练习一

来源:互联网 发布:源码怎么用 编辑:程序博客网 时间:2024/06/16 13:35

一、单选题(每题 2 分,共20分)

1.以下数据结构中哪一个是线性结构?( B  )

A.有向图             B.队列

C.线索二叉树         D. B树

2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行( D  )语句序列。

A.p=q; p->next=q       

B.p->next=q; q->next=p

C. p->next=q->next; p=q  

D. q->next=p->next; p->next=q

3.以下哪一个不是队列的基本运算?( A  )

A.在队列第i个元素之后插入一个元素  

B.从队头删除一个元素

C.判断一个队列是否为空

D.读取队头元素的值

4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( B  )个不同的字符串。

A.14       B.5       C.6        D.8

5.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( B  )。

A.11   B.35     C. 19    D. 53

9.下面关于图的存储的叙述中正确的是( B  )。

A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关

B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关

C.用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关

D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关

10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( B  )

A. a,g,h,m,n,p,q,x,z        

B. a,g,m,h,q,n,p,x,z

C. g,m,q,a,n,p,x,h,z

D. h,g,m,p,a,n,q,x,z

二、填空题(每空1分,共26分)

1.数据的物理结构被分为_______、_______、_______和_______四种。

2.对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为_______,在表尾插入元素的时间复杂度为_______。

3.向一个由HS指向的链栈中插入一个结点p时,需要执行的操作是_______,删除一个结点时,需要执行的操作是_______(假设栈不空而且无需回收被删除结点)。

4.对于一棵具有n个结点的二叉树,一个结点的编号为i(1≤i≤n),若它有左孩子,则左孩子结点的编号为_______;若它有右孩子,则右孩子结点的编号为_______;若它有双亲,则双亲结点的编号为_______。

5.当向一个大根堆插入一个具有最大值的元素时,需要逐层_______调整,直到被调整到_______位置为止。

6.以二分查找方法从长度为10的有序表中查找一个元素时,平均查找长度为_______。

7.表示图的三种常用的存储结构为_______、_______和_______。

8.对于线性表(70,34,55,23,65,41,20)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有_______个,散列地址为6的有_______个。

9.在归并排序中,进行每趟归并的时间复杂度为_______,整个排序过程的时间复杂度为______,空间复杂度为______。

10.在一棵m阶B_树上,每个非树根结点的关键字数目最少为______个,最多为______个,其子树数目最少为_______,最多为_______。

三、运算题(每题 6 分,共24)

1.写出下列中缀表达式的后缀形式:

(1)3X/(Y-2)+1

(2)2+X*(Y+3)

图2

2.试对图2中的二叉树画出:

(1)顺序存储表示的示意图;

(2)二叉链表存储表示的示意图。  

3.判断以下序列是否是小根堆? 如果不是, 将它调整为小根堆。

(1){ 12, 70, 33,65, 24, 56, 48, 92, 86, 33 }

(2){ 05, 23, 20,28, 40, 38, 29, 61, 35, 76, 47, 100 }

4.已知一个图的顶点集V和边集E分别为:

V={1,2,3,4,5,6,7};

E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25};

按照普里姆算法从顶点1出发得到最小生成树,试写出在最小生成树中依次得到的各条边。

原创粉丝点击