![数据结构练习试题(含答案解析)_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/45b6b665-3ea9-4922-8e97-5b4c97279adf/45b6b665-3ea9-4922-8e97-5b4c97279adf1.gif)
![数据结构练习试题(含答案解析)_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/45b6b665-3ea9-4922-8e97-5b4c97279adf/45b6b665-3ea9-4922-8e97-5b4c97279adf2.gif)
![数据结构练习试题(含答案解析)_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/45b6b665-3ea9-4922-8e97-5b4c97279adf/45b6b665-3ea9-4922-8e97-5b4c97279adf3.gif)
![数据结构练习试题(含答案解析)_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/45b6b665-3ea9-4922-8e97-5b4c97279adf/45b6b665-3ea9-4922-8e97-5b4c97279adf4.gif)
![数据结构练习试题(含答案解析)_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/45b6b665-3ea9-4922-8e97-5b4c97279adf/45b6b665-3ea9-4922-8e97-5b4c97279adf5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、完美WORD格式.整理专业资料分享数据结构练习题习题1 绪论1.1 单项选择题1.数据结构是一门研究非数值1t算的程序设计问题中,数据元素的 、数据信息在计算机中的 以及一组相关的运算等的课程。A .操作对象A.存储结构B .计算方法C .逻辑结构D .数据映象B.关系C.运算D.算法2.数据Z勾DS(Data Struct)可以被形式地定义为 DS= ( D, R),其中D是合。A .算法B .数据元素C .数据操作D .数据对象A .操作B .映象C .存储D .关系的有限集合,R是D上的有限集3.在数据结构中,从逻辑上可以把数据结构分成 。A.动态结构和静态结构B .紧凑结构和非紧凑结构
2、C.线性结构和非线性结构D.内部结构和外部结构4.算法分析的目的是,算法分析的两个主要方面是A.找出数据结构的合理性C.分析算法的效率以求改进 A.空间复杂性和时间复杂性C.可读性和文档性D.B.研究算法中的输入和输出的关系D.分析算法的易懂性和文档性B.正确性和简明性数据复杂性和程序复杂性5.计算机算法指的是,它必具备输入、输出和等五个特性。A.计算方法B.C.解决问题的有限运算序列A.可行性、可移植性和可扩充性C. 确定性、有穷性和稳定性排序方法D. 调度方法B.可行性、确定性和有穷性D.易读性、稳定性和安全性1.2 填空题(将正确的答案填在相应的空中)1 .数据逻辑结构包括 、和 三种类
3、型,树形结构和图形结构合称为 。2 .在线性结构中,第一个结点 前驱结点,其余每个结点有且只有 个前驱结点;最后一个结点 后续 结点,其余每个结点有且只有 个后续结点。3 .在树形结构中,树根结点没有 结点,其余每个结点有且只有 个直接前驱结点,叶子结点没有 结 点,其余每个结点的直接后续结点可以 。4 .在图形结构中,每个结点的前驱结点数和后续结点数可以 。5 .线性结构中元素之间存在 关系,树形结构中元素之间存在 关系,图形结构中元素之间存在 关系。6 .算法的五个重要特性是,J,。7 .分析下面算法(程序段),给出最大语句频度 ,该算法的时间复杂度是 。for (i=0;i<n;i
4、+)for (j=0;j<n; j+)Aij=0;8 .分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是 。for (i=0;i<n;i+)for (j=0; j<i; j+)Aij=0;9 .分析下面算法(程序段),给出最大语句频度,该算法的时间复杂度是 。s=0;for (i=0;i<n;i+)for (j=0;j<n;j+)for (k=0;k<n;k+) s=s+Bi皿k;sum=s;10 .分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是 Qi=s=0;while (s<n) i+; s+=i;s=s+i11 .分
5、析下面算法(程序段)给出最大语句频度,该算法的时间复杂度是 _ i=1;while (i<=n) i=i*2;1.3算法设计题1 .试写一算法,自大到小依次输出顺序读入的三个数X,Y和Z的值.2 .试写一算法,求出n个数据中的最大值。写出最大语句频度,该算法的时间复杂度。习题答案1.1 1. C , A 2. B,D 3. C 4. C, A 5. C,B1.2 1.线性结构、树形结构、图形结构,非线性结构2. 没有、1、没有、13. 前驱、1、后续、任意多个4. 任意多个5. 一对一、一对多、多对多6. 有穷性、确定性、可行性、输入、输出7. 最大语句频度:8. 最大语句频度:9. 最
6、大语句频度:10 .最大语句频度:11 .最大语句频度:n2 ,时间复杂度:.O (n 2)n (n+1)/2,时间复杂度:.O (n 2)n3 1时间复杂度:.O (n 3) 1n2 ,时间复杂度:.O (n 2)log 2n,时间复杂度:.O (log 2n )习题2线性表2.1 单项选择题1 . 一个向量(即一批地址连续的存储单元)第一个元素的存储地址是100,每个元素的长度为 2,则第5个元素的地址 OA. 110 B. 108 C. 100 D. 1202 .线性表的顺序存储结构是一种的存储结构,而链式存储结构是一种 的存储结构。A.随机存取B .索引存取 C .顺序存取D .散列存
7、取3 .线性表的逻辑顺序与存储顺序总是一致的,这种说法。A.正确 B.不正确4 .线性表若采用链式存储结构时,要求内存中可用存储单元的地址 。A.必须是连续的 B.部分地址必须是连续的C. 一定是不连续的D.连续或不连续都可以完美WORD格式.整理5 .在以下的叙述中,正确的是_ 。A.线性表的顺序存储结构优于彘存储结构B.线性表的顺序存储结适用于频繁插入/删除数据元素的情况C.线性表的链表存储结本适用于频繁插入/删除数据元素的情况D.线性表的链表存储结构优于顺序存储结构6 .每种数据结构都具备三个基本运算:插入、删除和查找,这种说法。A.正确 B. 不正确7 .不带头结点的单链表head为空
8、的判定条件是。A. head= =NULL B. head->next= =NULLC. head->next= =head D. head!=NULL8 .带头结点的单链表 head为空的判定条件是 。 A. head= =NULLB. head->next= =NULLC. head->next= =head D. head!=NULL9 .非空的循环单链表 head的尾结点(由p所指向)满足 。A. p->next= =NULL B. p= =NULLC. p->next= =head D. p= =head10. 在双向循环链表的p所指结点之后插入
9、s所指结点白操作是 。A. p->right=s; s->left=p; p->right->left=s; s->right=p->right;B. p->right=s; p->right->left=s; s->left=p; s->right=p->right;C. s->left=p; s->right=p->right; p->right=s; p->right->left=s;D. s->left=p; s->right=p->right; p->r
10、ight->left=s; p->right=s;11. 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在 q和p之间插入s结点,则执行 。A. s->next=p->next; p->next=s; B. p->next=s->next; s->next=p;B. q->next=s; s->next=p; C. p->next=s; s->next=q;12.在一个单链表中,若 p所指结点不是最后结点,在 p之后插入s所指结点,则执行 。A. s->next=p; p->next=s; B. s-
11、>next=p->next; p->next=s;C. s->next=p->next; p=s; C. p->next=s; s->next=p;13 .在一个单链表中,若删除p所指结点的后续结点,则执行 。A. p->next= p->next->next ; B. p= p->next; p->next= p->next->next;C. p->next= p->next; D. p= p->next->next;14 .从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功
12、的情况下,需平均比较 个结点。A. n B. n/2 C. (n-1)/2 D. (n+1)/215. 在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是qA. O(1) B. O(n) C. O (n2)D. O (nlog 2n)16. 给定有n个元素的向量,建立一个有序单链表的时间复杂度是_ _ 。A. O(1) ) B. O(n) C. O (n2)D. O (n*log 2n)2.2 填空题(将正确的答案填在相应的空中)1 .单链表可以做 的链接存储表示。2 .在双链表中,每个结点有两个指针域,一个指向,另一个指向 。3 .在一个单链表中p所指结点之前插入一个s
13、(值为e)所指结点时,可执行如下操作:q=head;while (q->next!=p) q=q->next;s= new Node; s->data=e;q->next=; /填空s->next=; /填空4 .在一个单链表中删除p所指结点的后继结点时,应执行以下操作:q= p->next;p->next=/ 填空 delete ; /填空5 .在一个单链表中p所指结点之后插入一个s所指结点时,应执行 s->next=和p->next= 的操作。6 .对于一个具有n个结点的单链表,在已知 p所指结点后插入一个新结点的时间复杂度是 ;在给定
14、值为x的.专业资料分享完美WORD格式.整理结点后插入一个新结点的时间复杂度是。2.3 算法设计题:1 .设顺序表va中的数据元数递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。Status Insert_SqList(SqList &va,int x) if(va.length+1>maxsize) return ERROR;va.length+;for(i=va.length-1;va.elemi>x&&i>=0;i-)va.elemi+1=va.elemi;va.elemi+1=x;return OK;2 .试写一算法,实
15、现顺序表的就地逆置,即利用原表的存储空间将线性表(a1, az, an)逆置为(an, a n-v, a"。void reverse(int a口,int size)int i,j,tmp;for(i=0, j=size-1; i<j; i+,j-)tmp=ai;ai=aj;aj=tmp; 3 .已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算法,删除表中所有大于x且小于y的元素(若表中存在这样的元素)同时释放被删除结点空间。void del(LinkList L,elemtype a,elemtype b) p= L;q=p->next;while(q
16、!=L && q->data<a)p=q;q=q->next;while(q!=L && q->data<b)r=q;q=q->next;free(r);if(p!=q)p->next=q;4 .试写一算法,实现单链表的就地逆置(要求在原链表上进行)。void converse(NODEPTR L)专业资料分享完美WORD格式.整理NODEPTR p,q;p=L->next; q=p->next;L->next=NULL;while(p) /*对于当前结点p,用头插法将结点p插入到头结点之后*/p-&g
17、t;next=L->next;L->next=p;p=q; q=q->next;习题答案2.11. B 2. A, C 3. B 4. D 5. C 6. A 7. A 8. B9. C 10. D 11.B12.B 13.A14.D15.B 16.C2.21.线性结表2.前驱结点、后继结点3. s, p4. q->next, q5. p->next, s 6. O ,O (n)习题3栈和队列3.1单项选择题1. 一个栈的入栈序列 a, b, c, d, e,则栈的不可能的输出序列是 。A.edcba B.decba C.dceab D.abcde2 .若已知一个
18、栈的入栈序列是1, 2, 3,,n,其输出序列为p1 , p2, p3,,pn,若p1=n,则pi为。A. i B. n=i C. n-i+1 D.不确定3 .栈结构通常采用的两种存储结构是 。A.顺序存储结构和链式存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构4 .判定一个顺序栈ST (最多元素为m。为空的条件是。A. top !=0 B. top= =0 C. top !=m0 D. top= =m0-15 .判定一个顺序栈 ST (最多元素为m。为栈满白条件是。A. top ! =0 B. top= =0 C. top! =m0 D. top= =m
19、0-16 .栈的特点是,队列的特点是。A.先进先出B.先进后出7 .向一个栈顶指针为 HS的链栈中插入一个s所指结点时,则执行 。(不带空的头结点)A. HS > next=s;B. s > next= HS > next; HS > next=s;C. s > next= HS; HS=s;D. s > next= HS; HS= HS > next;8 .从一个栈顶指针为 HS的链栈中删除一个结点时,用 x保存被删结点的值,则执行 。(不带空的头结点)A. x=HS; HS= HS > next;B. x=HS > data;C. HS
20、= HS > next; x=HS > data; D. x=HS > data; HS= HS > next;9 . 一个队列的数据入列序列是1, 2, 3, 4,则队列的出队时输出序列是 。A. 4, 3, 2, 1 B. 1, 2, 3, 4C. 1, 4, 3, 2 D.3,2,4,110 .判定一个循环队列 QU(最多元素为 mO)为空的条件是 。专业资料分享A. rear - front= =m0 B. rear-front-1= =m0C. front= = rear D. front= = rear+111 .判定一个循环队列QU(最多元素为 m0, m
21、0= =Maxsize-1 )为满队列的条件是 。A. (rear- front)+ Maxsize)% Maxsize = =m0B. rear-front-1= =m0C. front= =rearD. front= = rear+112 .循环队列用数组 A0,m-1存放其元素值,已知其头尾指针分别是 front和rear ,则当前队列中的元素个数是 A. (rear-front+m)%mB. rear-front+1C.rear-front-1D. rear-front13 .栈和队列的共同点是。A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点14 2 填
22、空题(将正确的答案填在相应的空中)1 .向量、栈和队列都是 结构,可以在向量的 位置插入和删除元素;对于栈只能在 插入和删除元素;对于 队列只能在 插入元素和 删除元素。2 .向一个长度为n的向量的第i个元素(1Wi wn+1)之前插入一个元素时,需向后移动 个元素。3 .向一个长度为n的向量中删除第i个元素(1wiwn)时,需向前移动 个元素。4 .在具有n个单元的循环队列中,队满时共有 个元素。习题答案3.11. C 2. C 3. A 4. B 5.D 6. BA 7.C 8. B 9. C 10. C11. A 12. A 13.C3.21.线性、任何、栈顶、队尾、队首 2. n-i+
23、13. n-i4. n-1习题6树和二叉树6.1 单项选择题1 .由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法 。A.正确 B. 错误2 .假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为 个。 A . 15B. 16 C. 17 D . 473 .按照二叉树的定义,具有3个结点的不同形状的二叉树有 种。A. 3 B. 4 C. 5 D. 64 .按照二叉树的定义,具有3个不同数据结点的不同的二叉树有 种。A. 5 B. 6 C. 30 D. 325 .深度为5的二叉树至多有 个结点。A. 16 B. 32 C. 31 D. 106 .设高度
24、为h的二叉树上只有度为 0和度为2的结点,则此类二叉树中所包含的结点数至少为 。 A. 2h B. 2h-1 C. 2h+1 D. h+17 .对一个满二叉树,m个树叶,n个结点,深度为h,则 。A. n=h+m B. h+m=2n C. m=h-1 D. n=2h-18 .任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序 。A.不发生改变B.发生改变C. 不能确定 D.以上都不对9 .如果某二叉树的前根次序遍历结果为stuwv ,中序遍历为 uwtvs ,那么该二叉树的后序为 。 A. uwvtsB. vwuts C. wuvts D. wutsv10 .二叉树的前序遍历序列中,
25、任意一个结点均处在其子女结点的前面,这种说法 。 A. 正确 B. 错.专业资料分享完美WORD格式.整理11 .某二叉树的前序遍历结点访问顺序是abdgcefh ,中序遍历的结点访问顺序是dgbaechf ,则其后序遍历的结点访问顺序是。A. bdgcefha B. gdbecfha C. bdgaechf D. gdbehfca 12.在一非空二叉树的中序遍历序列中,根结点的右边 A.只有右子树上的所有结点B.只有右子树上的部分结点C.只有左子树上的部分结点D.只有左子树上的所有结点13.如图6.1所示二叉树的中序遍历序列是。A. abcdgef B. dfebagc C. dbaefcg
26、 D. defbagc二叉树如图6.2所示,其中序遍历的"例 一 abdgcefh B. dgbaechf C.- - gdbehfcaD.专业资料分享abcdefgh15 .设a,b为一棵二叉树上的两个结点,在中序遍历时,a在b前的条件是 A. a在b的右方B. a在b的左方C. a是b的祖先D. a是b的子孙16 .已知某二叉树的后序遍历序列是dabec,中序遍历序列是 debac,它的前序遍历序列是 。 A. acbed B.decab C. deabc D. cedba17 .实现任意二叉树的后序遍历的非递归算法而不使用栈结构,最佳方案是二叉树采用存储结构。A.二叉链表B.广
27、义表存储结构C.三叉链表D. 顺序存储结构18 .如图6.3所示的4棵二叉树,不是完全二叉树。图6.320 .在线索化二叉树中,t所指结点没有左子树的充要条件是 。A. t > left=NULLB. t > ltag=1C. t > ltag=1 且 t > left=NULL D.以上都不对21 .二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索,这种说法。 A.正确B.错误22 .二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。这种说法。A.正确 B. 错误23 .具有五层结点的二叉平衡树至少有 个结点。A. 10
28、 B. 12 C. 15 D. 1724 .树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。这里,我们把由树转化得到的二叉树叫做这棵数对应的二叉树。结论 是正确的。A.树的先根遍历序列与其对应的二叉树的先序遍历序列相同B.树的后根遍历序列与其对应的二叉树的后序遍历序列相同C.树的先根遍历序列与其对应的二叉树的中序遍历序列相同D.以上都不对25 .树最适合用来表示。A.有序数据元素B.C.元素之间具有分支层次关系的数据完美WORD格式.整理 无序数据元素D. 元素之间无联系的数据6.2 填空题(将正确的答案填在相应的空中)1 .有一棵松口图6.5
29、所示,回答下面的问题:这棵树的根结点是;这棵树的叶子结点是;结点k3的度是;这棵树的度是; 这棵树的深度是 ;(6)结点k3的子女是 ;结点k3的父结点是2 .指出树和二叉树的三个主要差别 、。 _-3 .从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基的是 O4一棵二叉树的结看数据采用顺序存储结构,存储于数组t中,如图6.6所示,则该二叉树的链接表示形式为 。5.深度为k的完全二叉树至少有一个结点。至多有 个结点,若按自上而下,从左到右次序给结点编号(从1开始),则编号最小的叶子结点的编号是 。图6.6一棵二叉树的顺序存储数组t6 .在一棵二叉树中,度为零的结点的个数为n 0
30、,度为2的结点的个数为n 2,则有n)=。7 . 一棵二叉树的第i (i >1)层最多有 个结点;一棵有 n (n>0)个结点的满二叉树共有 个叶子和 个非终端结点。8 .结点最少的树为,结点最少的二叉树为。9 .现有按中序遍历二叉树的结果为abc,问有10 .由如图6.7所示的二叉树,回答以下问题:其中序遍历序列为;其前序遍历序列为;其后序遍历序列为;种不同形态的二叉树可以得到这一遍历结果,这些二叉树分别是6.3 简答题图6.7 一棵二叉树1.根据二叉树的定义,具有三个结点的二叉树有5种不同的形态,请将它们分别画出。9 .假设一棵二叉树的先序序列为 EBADCFHGIKJ 口中序
31、序列为 ABCDEFGHIJK请画出该树。10 由如图6.7所示的二叉树,回答以下问题:(1)画出该二叉树的中序线索二叉树;(2)画出该二叉树的后序线索二叉树;(3)画出该二叉树对应的森林。表不为图6.8 一棵树11 已知一棵树如图6.8所示,转化为一棵二叉树,12 以数据集4, 5, 6, 7, 10, 12, 18为结点权值,画出构造 Huffman树的每一步图示,计算其带权路径长度为。13 一棵含有N个结点的k叉树,可能达到的最大深度和最小深度各为多少?14 证明:一棵满k叉树上的叶子结点数n0和非叶子结点数 n1之间满足以下关系:n0=(k-1)n i+16.4算法设计题1 .编写按层
32、次顺序(同一层自左至右)遍历二叉树的算法。2 .试编写算法,对一棵二叉树,统计叶子的个数。3 .试编写算法,对一棵二叉树根结点不变,将左、右子树进行交换,树中每个结点的左、右子树进行交换。7 .假设用于通讯的电文仅有八个字母(a,b,c,d,e,f,g,h)组成,字母在电文中出现的频率分别为0.07, 0.19, 0.02, 0.06,0.32, 0.03, 0.21,0.10。试为这八个字母设计哈夫曼编码。使用0-7的二进制表示形式是另一种编码方案。对于上述实例,比较两种方案的优缺点。8 .试编写算法,对一棵以孩子 -兄弟链表表示的树统计叶子的个数。假设一棵二叉树的先序序列为 EBADCFH
33、GIK价口中序序列为ABCDEFGHIJK请画出该树。习题答案6.11. B2.B 3. C 4. C 5. C6. A7. D8. A9. C 10. A11.D2. A 13. B 14. B15. B16. D17. C18. C19.B20. B 21. B 22. B23. B24. A25. C6.21. k1 k2,k5,k7,k42(4) 342 .树的结点个数至少为1(不同教材规定不同),而二树中结点的最大度数没有限制,而二叉树结点的最 树的结点无左、右之分,而二叉树的结点有左、右3 .树可采用孩子-兄弟链表(二叉链表)做存储结构, 决树的有关问题。4 .如图6.9所示5.
34、2k-1、2 k-1、2k-2+16. n2+17 2i-1 2 log 2"+”-12 log 2"+” -8. 只有一个结点的树;空的二叉树叉树的结点个数可以为0;大度数为2;之分;目的并利用二叉树的已有算法解9. 5 ;如图6.10所示10. dgbaechif 、abdgcefhi 、gdbeihfca 、6.31. 5 种,图 6.11图6.10树形5种线索二叉树如图6.13 (右)所示;3.中序线索二叉树如图6.13 (左)所示;后序完美WORD格式.整理该二叉树转换后白的森林如图6.14所示。辔8613和后序线索树一棵树的孩子兄弟表O5.画出构造Huffman
35、树如图图 6.156.16所示,计算其带权路径长度为专业资料分享6. 一棵含有N个结点的k叉树,可能达到的最大深度 h=N-k+1 最小深度各为:log kN+1。图 6.16 Huffman 树习题7 图7.1单项选择题1 .在一个图中,所有顶点的度数之和等于所有边数的 倍。A. 1/2 B. 1 C. 2 D. 42 .任何一个无向连通图的最小生成树 。A.只有一棵B.有一棵或多棵C. 一定有多棵D.可能不存在3 .在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的 倍。A. 1/2 B. 1 C. 2 D. 44 . 一个有n个顶点的无向图最多有 条边。A. n B. n(n-1
36、) C. n(n-1)/2 D. 2n5 .具有4个顶点的无向完全图有 条边。A. 6 B. 12 C. 16 D. 206 .具有6个顶点的无向图至少应有 条边才能确保是一个连通图。A. 5 B. 6 C. 7 D. 87 .在一个具有n个顶点的无向图中,要连通全部顶点至少需要 条边。 A. n B. n+1 C. n-1 D. n/28 .对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是一A. n B. (n-1)2 C. n-1 D. n 2;所有邻接表中的接点9 .对于一个具有 n个顶点和e条边的无向图,若采用邻接表表示,则表头向量的大小为 总数是。 A. n B.
37、n+1 C. n-1 D. n+e A. e/2 B. e C.2e D. n+e10 .已知一个图如图7.1所示,若从顶点a出发按深度搜索法进行遍历,则可能得到的一种顶点序列为;按宽度搜索法进行遍历,则可能得到的一种顶点序列为 。 A. a,b,e,c,d,fB. e,c,f,e,b,dC. a,e,b,c,f,dD. a,e,d,f,c,b A. a,b,c,e,d,fB. a,b,c,e,f,dC. a,e,b,c,f,dD. a,c,f,d,e,ba图7.1一个无向图11 .已知一有向图的邻接表存储结构如图7.2所示。12 根据有向图的深度优先遍历算法,从顶点 v1出发,所得到的顶点序
38、列是A. v1,v2,v3,v5,v4B. v1,v2,v3,v4,v5C. v1,v3,v4,v5,v2D. v1,v4,v3,v5,v213 根据有向图的宽度优先遍历算法,从顶点 v1出发,所得到的顶点序列是A. v1,v2,v3,v4,v5B. v1,v3,v2,v4,v5C. v1,v2,v3,v5,v4D. v1,v4,v3,v5,v214 .采用邻接表存储的图的深度优先遍历算法类似于二叉树的 。A.先序遍历B.中序遍历C.后序遍历D.按层遍历15 .采用邻接表存储的图的宽度优先遍历算法类似于二叉树的 。A.先序遍历B.中序遍历C.后序遍历D.按层遍历16 .判定一个有向图是否存在回
39、路除了可以利用拓扑排序方法外,还可以利用A.求关键路径的方法B.求最短路径的Dijkstra 方法C.宽度优先遍历算法D.深度优先遍历算法17 .关键路径是事件结点网络中 。A.从源点到汇点的最长路径B.从源点到汇点的最短路径C.最长的回路D.最短的回路18 .下面不正确的说法是 。(1)在AOE网中,减小一个关键活动上的权值后,整个工期也就相应减小;(2) AOER工程工期为关键活动上的权之和;(3)在关键路径上的活动都是关键活动,而关键活动也必在关键路径上。A. (1)B. (2)C. (3)D. (1)、 (2)17 .用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印出相应的顶点
40、,则输出的顶点序列是A.逆拓朴有序的B.拓朴有序的C.无序的18 .在图7.3所示的拓朴排列的结果序列为 。A.125634B.516234C.123456D.52163419 . 一个有n个顶点的无蹿连通图三电所包含的连通分量个数为A.0B.1C.nD.n+120 .对于一个有向图,若一个顶点的入度为A.k1B.k221 .对于一个有向图,若一个顶点的入度为A.k1B.k2k1,、出度为k2,则对应邻接表中该顶点单链表中的结点数为C.k1-k2D.k1+k2k1,、出度为k2,则对应逆邻接表中该顶点单链表中的结点数为C.k1-k2D.k1+k27.2 填空题(将正确的答案填在相应俄空中)1
41、. n个顶点的连通图至少 条边。2 .在无权图G的邻接矩阵A中,若(vi,vj) 或vvi,vj属于图G的边集合,则对应元素Aij 等于,否则等于 3 .在无向图G的邻接矩阵A中,若A皿等于1,则Aji 等于。4 .已知图G的邻接表如图7.4所示,其从顶点v1出发的深度有限搜索序列为 ,其从顶点v1出发的宽度优先搜索序列为 。i个结点的入度的方法是 i个结点出发的边的方法是 棵生成树。5 .已知一个有向图的邻接矩阵表示,计算第6 .已知一个图的邻接矩阵表示,删除所有从第7 .如果含n个顶点的图形成一个环,则它有8 . 一个非连通无向图,共有 28条边,则该图至少有 个顶点。9 .遍历图的过程实
42、质上是 。 BFS遍历图的时间复杂度为 , DFS遍历图的时间复杂度为 ,两者不 同之处在于 ,反映在数据结构上的差别是 。完美WORD格式.整理10 . 一个图的表示法是唯一的,而表示法是不唯一的。11 .有向图中的结点前驱后继关系的特征是。12 .若无向图G的顶点度数最小值大于等于 时,G至少有一条回路。13 .根据图的存储结构进行某种次序的遍历,得到的顶点序列是 的。7.3 综合题1 .已知如图7.5所示的有向图,请给出该图的(1)每个顶点的入/出度;(2)邻接距阵;(3)邻接表;(4)逆邻接表;(5)强连通分量。专业资料分享2.请用克鲁斯卡尔和普里姆两种算法分别为图7.6、图7.7构造
43、最小生成树:图7.61完美WORD格式.整理5.已知AOE网有9个结点:V1,V2,V3,V4,V5,V6,V7,V8,V9,其邻接矩阵如下:(1)请画出该AOE图。(2)计算完成整个计划需要的时间。(3)求出该AOE网的关键路径。OC645OCOCOCOCOC工工工工1工工工工工工工工1工工工工工工工工工2工工工工工工工工工97-工工工工工工工工4工工工工工工工工工2工工工工工工工工4工工工工工工工工工4.习题答案7.1 1. C2.B3.B4. C5. A8.D9. AC16.A17.A10.DB11. CB 12. A18.B19.B13. D20.B6. A14.D21.A7.C15.
44、A7.21.n-12. 1;0 3. 14 .v1,v2,v3,v6,v5, v4 ; v1,v2,v5,v4,v3, v65 .求矩阵第i列非零元素之和6 .将矩阵第i行全部置为零 7.n7 .99 .对每个顶点查找其邻接点的过程;O (e) (e为图中的边数);O (e);遍历图的顺序不同;DFS采用栈存储访问过的结点,BFS采用队列存储访问过的结点。10 .邻接矩阵 邻接表11 . 一个结点可能有若干个前驱,也可能有若干个后继12 . 213 .唯一7.31.24完美WORD格式.整理专业资料分享2.3.5126345123645. (1)该AO的为:(2)完成整个计划需要18天。V2,
45、 V5, V7, V9)和(V1, V2, V5 , V8, V9,)(3)关键路径为:(V1,习题8558.1单项选择题1 .顺序查找法适合于存储结构为的线性表。A.散列存储B.顺序存储或链接存储C.压缩存储D.索引存储2 .对线性表进行二分查找时,要求线性表必须 。A.以顺序方式存储B.以链接方式存储C.以顺序方式存储,且结点按关键字有序排序D.以链接方式存储,且结点按关键字有序排序3 .采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为 .A. n B. n/2 C. (n+1)/2 D. (n-1)/24 .采用二分查找方法查找长度为n的线性表时,每个元素的平均查找长度为
46、 。A. O (n2)B. O(nlog2n)C. O(n) D. O(log2n)5 .二分查找和二叉排序树的时间性能 。A.相同 B. 不相同6 .有一个有序表为1 , 3, 9, 12, 32, 41, 45, 62, 75, 77, 82, 95, 100,当二分查找值82为的结点时, 次比较后查找成功。A. 1 B. 2 C. 4 D. 87 .设哈希表长 m=14,哈希函数 H(key尸key%11。表中已有 4个结点:addr (15)=4; addr (38)=5; addr (61)=6; addr (84)=7如用二次探测再散列处理冲突,关键字为49的结点的地址是 。A.
47、8 B. 3 C. 5 D. 98 .有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次 数为。A. 35/12 B. 37/12 C. 39/12 D. 43/129 .对于静态表的顺序查找法,若在表头设置岗哨,则正确的查找方式为A.从第0个元素往后查找该数据元素B.从第1个元素往后查找该数据元素C.从第n个元素往开始前查找该数据元素D.与查找顺序无关10 .解决散列法中出现的冲突问题常采用的方法是 。A.数字分析法、除余法、平方取中法B.数字分析法、除余法、线性探测法C.数字分析法、线性探测法、多重散列法D.线性探测法、多重散列法、链地址
48、法11 .采用线性探测法解决冲突问题,所产生的一系列后继散列地址 。A.必须大于等于原散列地址B.必须小于等于原散列地址C.可以大于或小于但不能等于原散列地址D.地址大小没有具体限制12 .对于查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。这种方式主要适合于 A.静态查找表B.动态查找表C.静态查找表与动态查找表D两种表都不适合13 .散列表的平均查找长度 。A.与处理冲突方法有关而与表的长度无关B.与处理冲突方法无关而与表的长度有关C.与处理冲突方法有关而与表的长度有关D.与处理冲突方法无关而与表的长度无关82填空题(将正确的答案填在相应的空中)1 .顺序查找法的
49、平均查找长度为 ;折半查找法的平均查找长度为 ;哈希表查找法采用链接法处理冲突时的平均 查找长度为。2 .在各种查找方法中,平均查找长度与结点个数n无关的查找方法是 。3 .折半查找的存储结构仅限于 ,且是。4 .假设在有序线性表 A1.20上进行折半查找,则比较一次查找成功的结点数为 ,则比较二次查找成功的结点数 为,则比较三次查找成功的结点数为 ,则比较四次查找成功的结点数为 ,则比较五次查找成功的结点数为 平均查找长度为。5 .对于长度为n的线性表,若进行顺序查找,则时间复杂度为 ;若采用折半法查找,则时间复杂度为 ;6 .已知有序表为(12, 18, 24, 35, 47, 50, 6
50、2, 83, 90, 115, 134),当用折半查找 90时,需进行 次查找可 确定成功;查找47时,需进行 次查找成功;查找100时,需进行 次查找才能确定不成功。7 .二叉排序树的查找长度不仅与 有关,也与二叉排序树的有关。8 . 一个无序序列可以通过构造一棵树而变成一个有序树,构造树的过程即为对无序序列进行排序的过程。9 .平衡二叉排序树上任一结点的平衡因子只可能是 、_ 或 。10 . 法构造的哈希函数肯定不会发生冲突。11 .在散列函数 H(key尸key%p中,p应取。12 .在散列存储中,装填因子的值越大,7T;的值越小,则 。8.3 综合练习题:1 .画出对长度为10的有序表
51、进行折半查找的判定树,并求其等概率时查找成功的平均查找长度。4 .选取哈稀函数H(k)= (3k) MOD1。用开放定址法处理冲突,di=i(7k)MOD0+1) (I=1 , 2, 3,).试在0-10的散列地址空间中对关键字序列(22,41,53,46,30,13,01,67)造哈希表,并求等概率情况下查找成功时的平均查找长度。5 .已知一组关键字49, 38, 65, 97, 76, 13, 27, 44, 82, 35, 50,画出由此生成的二叉排序树,注意边插入边平 衡。习题答案8.11.B 2.C 3.C 4. D 5.B 6.C 7.D 8.B9. C 10 . D 11. C
52、12 . B 13 . C8.21.(n+1) /2、(n+1)*log2(n+1)/n-1、1+( 为装填因子)2 .哈希表查找法3 .顺序存储结构、有序的4 . 1、2、4、8、5、3. 7(依题意,构造一棵有序二叉树,共12个结点,第一层1个结点,第二层2个结点,第三层 4个结点,第四层5个结点,贝U: ASL= (1*1+2*2+3*4+4*5 ) /12=37/12 )5 . O ( n)、O(log 2n)6 . 2、 4、 37 .结点个数n、生成过程8 .二叉排序树9 . 0、 1、 -110 .直接定址11 .素数12 .存取元素时发生冲突的可能性就越大、存取元素时发生冲突的可能性就越小 习题9 排序1.1 单项选择题1 .在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是 。A.希尔排序B.起泡排序C.插入排序 D.选择排序2 .设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用 排序法。A.起泡排序B.快速排序C.堆排序 D.基数排序3.在待排序的元素序列基本有序的前提下,效率最高的排序方法是A.插入排序B.选择排序C.快速排序D.归并排序4.一组记录的排序码为(46,79,56,38,40
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度古董艺术品修复与保养合同
- 2025年度化肥农药产品市场推广与品牌建设合同
- 2025年度基础设施建设项目质量监督合同范本
- 2025年度婚宴场地租赁及婚礼现场医疗保障合同
- 2025年度新能源发电项目投资合同汇编
- 2025年度工程造价咨询与成本控制合同
- 2025年度城市桥梁养护与设施更新合同书
- 2025年度影视基地租赁合同示范文本
- 2025年度加油站与物流企业运输合作合同
- 2025年度空压机租赁与节能改造技术合同
- 行业会计比较(第三版)PPT完整全套教学课件
- 值机业务与行李运输实务(第3版)高职PPT完整全套教学课件
- 高考英语语法填空专项训练(含解析)
- 42式太极剑剑谱及动作说明(吴阿敏)
- 部编版语文小学五年级下册第一单元集体备课(教材解读)
- GB/T 10095.1-2022圆柱齿轮ISO齿面公差分级制第1部分:齿面偏差的定义和允许值
- 仁爱英语九年级下册单词表(中英文)
- 危险化学品企业安全生产标准化课件
- 巨鹿二中骨干教师个人工作业绩材料
- 《美的历程》导读课件
- 心电图 (史上最完美)课件
评论
0/150
提交评论