收藏 分享(赏)

数据结构(C语言版)(第4版)习题.doc

上传人:tangtianxu2 文档编号:2876464 上传时间:2018-09-29 格式:DOC 页数:44 大小:177.98KB
下载 相关 举报
数据结构(C语言版)(第4版)习题.doc_第1页
第1页 / 共44页
数据结构(C语言版)(第4版)习题.doc_第2页
第2页 / 共44页
数据结构(C语言版)(第4版)习题.doc_第3页
第3页 / 共44页
数据结构(C语言版)(第4版)习题.doc_第4页
第4页 / 共44页
数据结构(C语言版)(第4版)习题.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、习题 11.1 选择题。(1)计算机识别、存储和加工处理的对象统称为 。A数据 B.数据元素 C.数据结构 D.数据类型(2)数据结构通常是研究数据的 及它们之间的联系。A存储和逻辑结构 B.存储和抽象 C.理想和抽象 D.理想和逻辑(3)下列不是数据的逻辑结构的是 。A散列结构 B.线性结构 C.树形结构 D.图状结构(4)数据结构被形式地定义,其中D是 的有限集,R是 _的有限集。A算法 B.数据元素 C.数据操作 D.逻辑结构(5)组成数据的基本单位是 。A数据项 B.数据类型 C.数据元素 D.数据变量(6)设数据结构A=(D,R),其中,D=1,2,3,4,R=r,r=,则数据结构A

2、是 。A线性结构 B.树形结构 C.图状结构 D.集合(7)数据在计算机存储器中表示时,若物理地址与逻辑地址相同并且是连续的,则称为 。A存储结构 B.逻辑结构C顺序存储结构 D.链式存储结构(8)在数据结构的讨论中把数据结构从逻辑上分 。A内部结构与外部结构 B.静态结构与动态结构B线性结构与非线性结构 D.紧凑结构与非紧凑结构(9)对于一个算法的评价,不包括以下 方面的内容。A.健壮性和可读性 B.并行性C.正确性 D.时间空间复杂度(10)算法分析的两个方面是 。A空间复杂性和时间复杂性 B.正确性和简明性C可读性和文档性 D.数据复杂性和程序复杂性1.2 填空题(1)数据结构是一门研究

3、非数值计算的程序设计问题中计算机的 以及它们之间的 和运算等的学科。(2)数据结构包括数据的 结构和 结构。(3)数据结构从逻辑上划分为3种基本类型,即 、 和 。(4)数据的物理结构被分为 、 、 和 种类型。(5)一种抽象数据结构类型包括 和 两个部分。(6)数据的逻辑结构是指 数据的存储结构是指 (7)数据结构是指指数数据及其相互之间的 当结点之间存在M对N(M:N)的联系时,称这种结构为 当结点之间存在1对N(1:N)的联系时,称这种结构为 (8)对算法从时间和空间两个方面进行衡量,分别称为 分析。(9)算法的效率可以分为 效率和 效率。(10)for(i=1,t=1,s=0;inex

4、t=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;(8)设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为 A. p-next=p-next-nextB. p=p-nextC. p=-next-nextD. p-next=p(9)在一个以h为头的单循环链表中,p指针指向链尾的条件是 。A. p-next=h B. p-next=NULLC. p-next-next=h D. p-date=-1(10)对于只有首、尾两端进行操作的线性表,宜采用的存储

5、结构为 。A.顺序表 B.用头指针表示的单循环链表C.单链表 D.用尾指针表示的单循环链表2.2 填空题(1)线性表是n个元素的_。(2)线性表的存储结构有_。(3)设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为 ,在链式存储结构上实现顺序查找的平均时间复杂度为 。(4)设顺序线性表中有n个数据元素,则在第i个位置上插入一个数据元素需要移动表中的 个数据元素,删除第i个位置上数据元素需要移动表中的 个元素。(5)若频繁地对线性表进行插入与删除操作,则该线性表应采用 存储结构。(6)链式存储结构中的结点包含 域和 域。(7)在双向链式表中每个结点有两个指针域,一个指向

6、 另一个指向 (8)对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为 在表尾插入元素的时间复杂度为 (9)设指针变量p指向单链式表中的结点A,指针变量s指向被插入的结点B,则在结点A的后面插入结点B的操作序列为_。(10)设指针变量p指向单链式表中的结点A,则删除结点A的后继结点(假设存在)的语句序列为“s=p-next; p-next= ;free(s);”2.3 将一顺序表A中的元素逆置。例如原来顺序表A中的元素是100,90,80,70,60,50,40,逆置以后为40,50,60,70,80,90,100。要求算法所用的辅助空间尽可能地少,用非形式算法描述,并编写C语言

7、程序。2.4 写一算法输出已知顺序表A中元素的最大值和最小值,并编写C语言程序。2.5 设一顺序表中的元素值递增有序,写一算法,将元素x插入到表中的适当位置,并保持顺序表的有序性。2.6设有两个按元素递增有序的顺序表A和B(单链式表A和B) ,编一程序将A表和B表归并成一个新的递增有序的顺序表C(单链式表C) ,值相同的元素均保留在C表中。2.7 设有两个线性表A和B都是单链表存储结构。同一个表中的元素各不相同,且递增有序,写一算法,构成一个新的线性表C,使C为A和B的交集,且C中的元素也递增有序。习题 33.1 选择题(1)下列说法正确的是_。A. 堆栈是在两端操作、先进后出的线性表B. 堆

8、栈是在一端操作、先进先出的线性表C. 队列是在一端操作、先进先出的线性表D. 队列是在两端操作、先进先出的线性表(2)栈和队列的共同点是_。A. 都是先进后出B. 都是先进先出C. 只允许在端点处插入和删除元素D. 没有共同点(3)以下数据结构中是非线性结构的是_。A. 队列 B.栈 C.线性表 D.二叉树(4)已知一个栈的入栈序列是1,2,3,,n,输出序列是,若 ,则 为_。1, 2, 3, 1= A.i B.n-i C.n-i+1 D.不确定(5)当利用大小为N的一堆数组顺序存储一个栈时,假定用top=N表示栈空,则向这个栈插入一个元素时首先应执行_语句修改top指针。A.top+ B.

9、top- C.top=0 D.top(6)4个元素进S栈的顺序是 ,经POP(S)运算后栈顶元素是_。A. A B. B C. C D. D (7)一个栈的输入序列是a,b,c,d,e,则栈不可能的输出序列是_。A. e,d,c,b,a B. d,e,c,b,aC. d,c,e,a,b D. a,b,c,d,e(8)设输入序列是1,2,3,n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出的元素是_。A. n-i B. n-i-1 C.n+1-i D. 不能确定 (9)字符A,B,C,D依次进入一个栈,按出栈的先后顺序组成不同的字符串,最多可以组成_个不同的字符串。A. 15

10、B. 14 C. 16 D. 21(10)递归函数 的递归出口是_。(1)=(1)+(1)A. B. C. D. (1)=0 (1)=1 (0)=1 ()=(11)设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作为_。A. top=top+1; B. top=top-1;C. top-next=top; D. top=top-next;(12)中缀表达式A-(B+C/D)*E的后缀形式是_。A. ABC+D/*E- B. ABCD/+E*-C. AB-C+D/E* D. ABC-+D/E*(13)用front和rear分别表示顺序循环队列的队首和队尾指针,判断队空的条件为_。A.fr

11、ont+=reear B. (rear+1)%maxSize=frontC.front=0 D. front=rear(14)判定一个循环队列QU(最多元素为 )为满队列的条件为_0_。A. QU-front=QU-rearB. QU-front!=QU-rearC. QU-front=(QU-rear+1)%0D. QU-front!=(QU-rear+1)%0(15)设栈S和队列Q的初始状态为空,元素 和1、 2、 3、 4、 5 6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为 和 ,则栈S的容量至少应该是 _。2、 4、 3、 6、 5 1A. 6 B. 4 C. 3

12、 D. 2(16)用连接方式存储的队列,在进行插入运算时_。A. 仅修改头指针 B. 头、尾指针都要修改C. 仅修改尾指针 D. 头、尾指针可能都要修改(17)若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。当从队列中删除一个元素再加入两个元素后,rear和front的值分别为_。A. 1和5 B. 2和4 C. 4和2 D. 5和1(18)设顺序循环队列Q0:M=1的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一个位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为_。A. R-F B. F-RC. (R-F=M)%M D. (F

13、-R+M)%M(19)设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作为_。A.front-next=s;front=s; B.s-next=front;rear=s;C.rear-next=s;rear=s; D.s-next=front;front=s;(20)当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为_。A. n-2 B. n-1 C. n D. n+13.2 填空题(1)栈的插入和删除只能在栈顶进行,后进栈的元素必定先出栈,所以又把栈称为_表;队列的插入和删除运算分别在队列的两端进行,先

14、进队列的元素必定先出队列,所以又把队列称为下划表。(2)后缀算式9 2 3 + -10 2/- 的值为_,中缀算式(3+4X)-2Y/3对应的后缀算式为_。(3)下面程序段的功能是实现数据x的进栈,要求在下划线处填上正确的语句。typedef structint s100;int top; sqstack;void push(sqstack else_;_;(4)设指针变量p指向双向循环链表中的结点X,则删除结点X需要执行的语句序列为_;_;(设结点中的两个指针域分别为llink和rlink) 。(5)设一个顺序循环队列中有M个存储单元,则该循环队列中最多能够存储M-1个队列元素,当前实际存储

15、_个队列元素(设头指针F指向F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置) 。(6)设有一个顺序共享栈S0:n-1,其中,第一个栈顶指针 1的处置为-1,第二个栈顶指着 的初值为 n,则判断共享栈满的条2件是_。(7)设F和R分别表示顺序循环队列的头指针和尾指针,则判断该循环队列为空的条件为_。(8)顺序循环队列判空的条件是(使用front、rear、n表示)_。(9)顺序循环队列判满的条件是(使用front、rear、n表示)_。(10)顺序循环队列MAXSIZE=N,最多可以存储_个元素。3.3 简述栈和线性表的区别。3.4 简述栈和队列这两种数据结构的相同点和不同点。3.

16、5 如果进栈的元素序列为A,B,C,D,可能得到的出栈序列有多少种?写出全部的可能序列。3.6 如果进栈的元素序列为1,2,3,4,5,6,能否得到4,3,5,6,1,2和1,3,5,4,2,6的出栈序列?说明为什么不能得到或如何得到。3.7 写出下列程序段的运行结果(栈中的元素类型是char):main() SeqStack s,*p;char x,y;p=Init_Queue(p);x=c;y=k;push(p,x);push(p,a);push(p,y);x=pop(p);push(p,t);push(p,x);x=pop(p);push(p,s);while(!Empty_SeqSta

17、ck(p) y=pop(p);printf(“%c”,y);printf(“%cn”,x);3.8 将一个非负十进制整数转换成二进制数,用非递归算法和递归算法来实现。3.9 写一算法将一顺序栈中的元素依次取出,并打印元素值。3.10 写出下列程序段的运行结果(队列中的元素类型是char):main() SeqStack a,*q;char x,y;q= x=e; y=c;Init_Queue(q);In_Quene(q,h);In_Quene(q,r);In_Quene(q,y);x=Out_Quene(q);Init_Queue(q,x);x=Out_Quene(q);Init_Queue(

18、q,a);while(!Empty_SeqStack(q) y= Out_Quene(q);printf(“%c”,y);printf(“%cn”,x);3.11 写一算法将一链队列中的元素依次取出,并打印这些元素值。习题 44.1 选择题(1)下列叙述正确的是_。A串是一种特殊的线性表 B. 串的长度必须大于零C. 串中元素只能是字母 D. 空串就是空白串(2)下列关于串的叙述正确的是_。A. 串长度是指串中不同字符的个数B. 串是n个字母的有限序列C. 如果两个串含有相同的字符,则它们相等D. 只有当两个串的长度相等并且各个对应位置的字符都相符时才相等(3)字符串的长度是指_。A. 串中不

19、同字符的个数 B. 串中不同字母的个数C. 串中所含字符的个数D. 串中不同数字的个数(4)两个字符串相等的充要条件是_。A. 两个字符串的长度相等B. 两个字符串中对应位置上的字符相等C. 同时具备A和B两个条件D. 以上答案都不对(5)串是一种特殊的线性表,其特殊性体现在_。A. 可以顺序存储B. 数据元素是一个字符C. 可以连接存储D. 数据元素可以是多个字符(6)设有两个p和q,求q和p中首次出现的位置的位置的运算称为_。A.连接 B. 模式匹配 C. 求子串 D. 求串长(7)设串s1=“ADCDEFG”,s2=“PQRET” ,函数con(x,y)返回x和y串的连接subs(s,i

20、,j)返回串s从序列号为i的字符开始的j个字符组成的子串,len(s)返回串s的度,则con(subs(s1,2,len(s2),subs(s1,len(s2),2)的结果串是_。A. BCDEF B. BCDEFG C. BCPQRET D. BCDEFEF(8)函数substr(“DATASTRUCTURE”),5,9)的返回值为_。A. “STRUCTURE” B.“DATA”C. “ASTRUCTUR” D. “DATASTRUCTURE”(9)设有二维数组A5060,其元素长度为1B,按列优先顺序存储,首先素A00的地址为200,则元素A1020的存储地址为_。A. 820 B.72

21、0 C.1210 D.1410(10)设串s=“I AM A TEACHER!”,其长度是_。A. 16 B.11 C. 14 D.154.2 填空题(1)两个串相等的充要条件是_。(2)空串是_,其长度为_。(3)空格串是_,其长度是_。(4)s=“I am a man”的长度为_。(5)s1=“hello”,s2=“boy”,s1,s2连接后为_。(6)s=“this is the main string ” ,sub=“string”,strindex(s,sub)是_。(7)int a1010,已知a=1000,sizeof(int)=2,a33的地址为_。(8)设有两个串p和q,求q

22、在p中首次出现的位置的运算称为_。(9)串的长度是指_。(10)s=“xiaotech”所含子串的个数是_。4.3 设s=“I AM A STUDENT”,t=“GOOD”,q=“WORKER”,求StrLength(s)、StrLength(t)、SubStr(t,2,1)、SteeIndex(s,“A”)、StrIndex(s,t)、StrRep(s,“STUDENT”,q)。4.4 已知s=“(XXZ)+*”,t=“(X+Z)*Y”,试利用连接、求字串和置换等基本运算将s转化为t。4.5 简述下列每对术语的区别:空串和空格串;串变量和串常量;主串和字串;串变量的名字和串变量的值。4.6

23、编一算法,在顺序串上实现串的判等操作EQUAL(S,T).4.7 设有二维数组A(6 8),每个元素占6B顺序存放,A的起地址为1000,做以下计算:(1)数组A的体积(即存储量) ;(2)数组的最后一个元素 的起地址;5,7(3)按行优先存放时,元素 的起地址;1,4(4)按列优先存放时,元素 的起地址。4,74.8 已知稀疏矩阵如图4.12所示,画出它的三元组表的示意图。=0 1 0 0 14 0 0 0 00 0 0 7 00 6 0 0 08 0 9 0 00 0 0 0 0图4.12 题4.8图习 题 55.1 单选题(1)树最适合用来表示_。A. 有序数据元素 B. 无序数据元素C

24、. 元素间具有层次关系的数据 D. 元素间无联系的数据(2)在m叉树中,度为0的结点称为_。A. 兄弟 B.树叶 C. 树根 D. 1(3)如果树的结点A有4个兄弟,而且B为A的双亲,则B的度为_。(4)根据二叉树的定义可知二叉树共有_种不同的形态。A. 4 B. 5 C. 6 D. 7(5)由3个结点可以构造出_种不同形态的二叉树。A. 3 B. 4 C. 5 D. 6(6)具有20个结点的二叉树,其深度最多为_。A. 4 B. 5 C. 6 D. 20(7)高度为h的满二叉树的结点数是_个。A. B. C. D. log2 2 21 21(8)深度为5的二叉树最多有_个结点。A. 16 B

25、. 32 C. 31 D. 10(9)设一棵二叉树共有50个叶子结点(终端结点) ,则共有_个度为2的结点。A. 25 B. 49 C. 50 D. 51(10)一颗完全二叉树中根结点的编号为1,并且23号结点有左孩子但没有右孩子,则完全二叉树共有_个结点。A. 24 B. 45 C. 46 D. 47(11)二叉树的第3层最少有_个结点。A. 4 B. 1 C. 2 D. 3(12)设n,m为一棵二叉树上的两个结点,在中序遍历时,n在m之前的条件是_。A.n在m右方 B. n是m的祖先 C.n在m左方 D.n是m的子孙(13)某二叉树的先序序列和后序序列正好相同,该二叉树可能是_的二叉树。A

26、. 高度大于1的左单支 B.高度大于1的右单支C. 最多只有一个结点 D.既有左孩子又有右孩子(14)某二叉树的先序序列和后序序列正好相反,该二叉树一定是_的二叉树。A. 空或只有一个结点 B.高度等于其结点数C. 任一结点无左孩子 D.任一结点无右孩子(15)有n个结点的二叉树链表共有_个空指针域。A. n-1 B. 2n-1 C. 2n+1 D. 2(n-1)(16)一个有n个叶结点的哈夫曼树具有的结点数为_。A. 2n B. 2n-1 C. 2n+1 D. 2(n-1)5.2 填空题(1)一颗深度为5的二叉树,最少有_个叶子结点。()一颗完全二叉树采用顺序存储结构,每个结点占个字节,设编

27、号为的元素的地址为,且它有左孩子和右孩子,则该左孩子和右孩子的地址分别为_和_。()一颗完全二叉树采用顺序存储结构,若编号为的元素有有左孩子,则该左孩子的编号为_。()一棵含有()个结点的叉树,当_时深度最大,此最大深度为_;当_时深度最小,此最小深度为_。()深度为为的玩群二叉树最少有_个结点,最多有_个结点。()已知一棵二叉树的线序遍历序列为,中序遍历序列为,则该二叉树的后序遍历序列为_。()如果指针指向一棵二叉树的一个结点,则判断没有左孩子的逻辑表达式为_。()在由个带权叶子结点构造出的所有二叉树中,带权路径长度最小的二叉树称为_。()在树的孩子兄弟表示法中,每个结点有两个指针域,一个指

28、向_,另一个指向_。()树的先根遍历结果与其转换的相应二叉树的_结果相同;树的后跟遍历与其转换的相应二叉树的_结果相同。. 写出图.中树的叶子结点、非终端结点、个结点的度和树深。 分别画出含个结点的无序树与二叉树的所有不同形态。 分别画出含个结点的无序树与二叉树的所有不同形态。. 分别写出图.中所示二叉树的先序遍历、中序遍历、后序遍历的结点访问序列。图. 题.图图. 题.图. 试找出分别满足下列条件的所有二叉树:()先徐序列和中序序列相同;()后徐序列和中序序列相同;()先徐序列和后序序列相同。. 已知一棵二叉树的中序序列和后序序列分别为和,试画出这棵二叉树。.分别写出图中所示树的先根遍历、后

29、根遍历和层次遍历的结点访问序列。. 如果一棵树有 个度为1的结点, 个为2的结点。1 2, 个度为m的结点,则该树共有多少个叶子结点的数目。5.12 编一算法求二叉树中的结点的总数。5.13 编一算法将二叉树中所有结点的左、右子树相互交换。5.14 编一算法判别给定的二叉树是否是完全二叉树。5.15 将图5.26中所示的森林转换为二叉树。图5.26 题5.15图5.16 分别画出图5.27中所示二叉树对应的森林。5.17 在以双亲链表表示法存储结构的树中,写出以下算法:(1)求树中结点双亲的算法;(2)求树中结点孩子的算法。5.18 在以孩子链表表示法存储结构的树中,写出以下算法:(1)求树中

30、结点双亲的算法;(2)求树中结点孩子的算法。5.19 在以孩子兄弟链表结构存储的树中,写出求树中结点孩子的算法。5.20 (1)给定权值(4,3,16,9,22,10,5) ,构造相应的哈夫曼树。(2)设上述权值分别代表7个字母出现的频率,试为这7个字母设计哈夫曼编码。习题 66.1 选择题(1)一个有8个顶点的有向图,所有顶点的入度之和与所有顶点的出度之和的差是_。A.16 B.4 C.0 D.2(2)一个有n个顶点的连通无向图最少有_条边。A.n-1 B.n C.n+1 D.n+2(3)具有n个顶点的完全有向图的弧数为_。A.n(n-1)/2 B.n(n-1) C. D.2 21(4)一个

31、n条边的连通无向图,其顶点的个数最多为_。A.n-1 B.n C.n+1 D.nlogn(5)设无向图的顶点个数为n,则该图最多有_条边。A.n-1 B.n(n-1)/2 C.n(n+1)/2 D.0(6)任何一个无向连通图的最小生成树_A. 只有一棵 B. 有一棵或多棵 C. 一定有多棵 D. 可能不存在(7)在下列算法中,_算法用来求图中某顶点到其他所有顶点之间的最短路径。A. Dijkstra B. Floyed C. Prim D. Kruskal(8)在一个无向图中,所有顶点的度数之和等于所有边数的_倍。A.2 B.3 C.1 D.1.5(9)下面关于图的存储的叙述中正确的是_。A.

32、 用邻接表法存储图,占用的存储空间大小只与图中的边数有关,而与顶点个数无关。B. 用邻接表法存储图,占用的存储空间大小与图中的边数和顶点个数都有关。C. 用邻接矩阵表法存储图,占用的存储空间大小与图中的边数和顶点个数都有关。D. 用邻接矩阵表法存储图,占用的存储空间大小只与图中的边数有关,而与顶点个数无关。(10)设有向无环图G中的有向边集合E=,则下列属于该有向图G的一种拓扑排序序列的是_。A. 1,2,3,4 B. 2,3,4,1 C. 1,4,2,3 D. 1,2,4,3(11)设无向图G中的边的集合E=(a,b),(a,e),(a,c)(b,e),(e,d),(d,f),(f,c),则

33、从顶点a出发进行深度优先遍历可以得到的一种顶点序列为_。A. aedfcb B. acfebd C. aebcfd D. aedfbc(12)连通图G中有n个顶点,G的生成树是_连通子图。A. 包含G的所有顶点 B. 包含G的所有边C. 不必包含G的所有顶点 D. 包含G的所有顶点和所有边(13)设某有向图中有n个顶点,则该有向图对应的邻接表中有_中个表头结点。A. n-1 B. n C. n+1 D. 2n-1(14)设无向图G中有n个顶点、e条边,则其对应的邻接表中的表头结点和边表结点的个数分别为_。A. n,e B. e,n C. 2n,e D. n,2e(15)用邻接矩阵A表示有向图G

34、的存储结构,则有向图G中顶点i的入度为_。A. 第i行非0元素的个数之和 B. 第i列非0元素的个数之和C. 第i行0元素的个数之和 D. 第i列0元素的个数之和(16)用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的出度为_。A. 第i行非0元素的个数之和 B. 第i列非0元素的个数之和C. 第i行0元素的个数之和 D. 第i列0元素的个数之和(17)可以判断一个有向图中是否含有回路的方法为_。A. 广度优先遍历 B. 深度优先遍历C. 拓扑排序 D. 求最短路径6.2 填空题(1)一个连通无向图有5个顶点、8条条边,则其生成树将要去掉_条边。(2)在树结构和图结构中,前驱和后继结点

35、之间分别存在着_和_的联系。(3)有n个顶点的连通图至少有_条边,有n个顶点的强连通图至少有_条边。(4)一个具有n个顶点的有向图至少有_条弧。(5)如果不知道一个图是有向图还是无向图,但是知道它的邻接矩阵是非对称的,那么这个图必定是_。(6)在无向图G的邻接矩阵A中,若AIJ=1,则AJI为_。(7)无向图用邻接矩阵存储,其所有元素之和表示无向图的边数的_。(8)无向图用邻接表存储,其所有边表结点之和表示无向图的边数的_。(9)无向图用邻接表存储,顶点 的度为_。(10)有向图用邻接表存储,顶点 的度为_。(11)图的遍历方式一般有_和_两种。(12)Prim算法的时间复杂度为_,与边数无关

36、,因此适用于求边稠密的网的最小生成树。(13)如果某有向图的所有顶点可以构成一个拓扑排序序列,则说明该有向图_。6.3 画出无向图6.23的邻接矩阵和邻接链表示意图,并写出每个顶点的度。6.4 画出有向图6.24的邻接矩阵、邻接链表和逆邻接链表示意图,并写出每个顶点的入度、出度。图6.23 题6.3图 图6.24 题6.4图6.5 对应图6.25,写出从v1出发的深度优先查找遍历结果和广度优先查找遍历结果各3个。6.6 求图6.26的连通分量。6.7 分别用Prim算法按列表方式求出图6,27的最小生成树,并画出最小生成树的示意图。图6.25 题6.5图 图6.26 题6.6图 图6.27 题

37、6.7图6.8 写出图6.28的拓扑排序。6.9 试写出下列算法:(1)建立无向图邻接矩阵算法;(2)建立无向网邻接矩阵算法;(3)建立有向图邻接矩阵算法。6.10 试写出下列算法:(1)建立无向图邻接链表结构算法;(2)建立无向网邻接链表结构算法。6.11 编写算法,在无向图的邻接链表结构上生成无向图的邻接矩阵结构。6.12 编写算法,在无向图的邻接矩阵结构上生成无向图的邻接链表结构。6.13 已知有m个顶点的无向图,采用邻接矩阵结构存储,问:(1)图中有多少条边?(2)任意两个顶点i和j之间是否有边相连?(3)任意一个顶点的度是多少?6.14 已知一个无向图,采用邻接链表结构存储,问:(1)图中有多少条边?(2)任意两个顶点i和j之间是否有边相连?(3)任意一个顶点的度是多少?6.15 以图6.29所示的无向图连通图为例,按照深度优先查找遍历的算法编写程序上机运行,并获得正确的结果。图6.28 题6.8图 图6.29 题6.15图

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报