数据结构图习题

合集下载

数据结构第7章图习题

数据结构第7章图习题

、单项选择题1.在一个无向图 G 中,所有顶点的度数之和等于所有边数之和的 _________ 倍A .l/2B .1D .42.在一个有向图中, 所有顶点的入度之和等于所有顶点的出度之和的 ________倍A .l/2 C .2D .43.一个具有 n 个顶点的无向图最多包含 _____ 条边。

A .nB .n +1C .n-1D .n(n-1)/24.一个具有 n 个顶点的无向完全图包含 _____ 条边。

A .n(n-l)B .n(n+l)C .n(n-l)/2D .n(n-l)/25.一个具有 n 个顶点的有向完全图包含 _____ 条边。

A .n(n-1)B .n(n+l)C .n(n-l)/2D .n(n+l)/2 6.对于具有 n 个顶点的图,若采用邻接矩阵表示,则该矩阵的大小为A. nB. n><h C .n-17 .无向图的邻接矩阵是一个 ______A .对称矩阵 C .上三角矩阵8.对于一个具有 n 个顶点和 e 条边的无 (有)向图,若采用邻接表表示,则表头 向量的大小为 。

A .n C . 2nD . 2e 9.对于一个具有 n 个顶点和 e 条边的无 (有)向图,若采用邻接表表示,则所有 顶C .2B .1 D . (n-I)也-I)B .零矩阵 D .对角矩阵 B .e点邻接表中的结点总数为_________ 。

B. eC. 2nD. 2e10.在有向图的邻接表中,每个顶点邻接表链接着该顶点所有邻接点。

A .入边B.出边C.入边和出边 D .不是入边也不是出边11.在有向图的逆邻接表中,每个顶点邻接表链接着该顶点所有邻接点。

A .入边B.出边C.入边和出边 D .不是人边也不是出边12.如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是A .完全图B.连通图C.有回路 D .一棵树13.采用邻接表存储的图的深度优先遍历算法类似于二叉树的算法。

数据结构练习题2[1]

数据结构练习题2[1]

1、3个结点可构成棵不同形态的树。

2、利用直接选择排序算法对n个记录进行排序,最坏的情况下,记录交换的次数为。

3、一个图的_______表示法是唯一的,而______表示法是不唯一的。

4、一棵深度为h的满二叉树上的结点总数为,一棵深度为h的完全二叉树上的结点总数的最小值为,最大值为。

5、在一棵完全二叉树中有n个结点,对这些结点按层序编号,若一个结点编号为69,则其双亲编号为,有左孩子的条件是,其左孩子编号为。

6、二维数组M的成员是6个字符组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则存放M至少需要________个字节;M的第8列和第5行共占___________个字节;若M按行优先方式存储,元素M[8][5]的起始地址与当M按列优先方式存储时的________元素的起始地址一致。

7、设有一顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素出栈的顺序是s2,s3,s4,s6,s5,s1,则栈的容量至少应该是________。

8、在线性表的顺序存储中,元素之间的逻辑关系是通过决定的;在线性表的链式存储中,元素之间的逻辑关系是通过_________决定的。

9、n个顶点的连通图的生成树有n-1条边。

10、通常数组只有______给定一组有定义的下标,存取相应的数据__和___给定一组有定义的下标,修改相应数据元素的值_____两种运算,因此常采用__顺序_______来存储数组。

11、3个节点可以构成 5 棵不同形态的二叉树。

12、对于一棵具有n个结点的二叉树,当它为一棵完全二叉树时具有最小高度,即为∟log2n」+1,当它为一棵单支树时具有最大高度,即为n 。

13、在一棵有n个结点的完全二叉树中,对这些结点按层序编号,若一个结点编号为59,则其双亲编号为,若一个结点编号为23,则其有右孩子的条件是。

14、数组M中每个元素的长度是3个字节,行下标i从1到8,列下标j从1到10,从首地址EA开始连续存放在存储器中。

图习题-数据结构

图习题-数据结构

习题七图一、单项选择题1.设有无向图G=(V,E)和G’=(V’,E’),如G’为G的生成树,则下面不正确的说法是()A.G’为G的子图 B.G’为G的连通分量C.G’为G的极小连通子图且V’=V D.G’是G的无环子图2.任何一个带权的无向连通图的最小生成树()A.只有一棵 B.有一棵或多棵 C.一定有多棵 D.可能不存在3.以下说法正确的是()A.连通分量是无向图中的极小连通子图。

B.强连通分量是有向图中的极大强连通子图。

C.在一个有向图的拓扑序列中,若顶点a在顶点b之前,则图中必有一条弧<a,b>。

D.对有向图G,如果从任意顶点出发进行一次深度优先或广度优先搜索能访问到每个顶点,则该图一定是完全图。

4.图中有关路径的定义是()。

A.由顶点和相邻顶点序偶构成的边所形成的序列 B.由不同顶点所形成的序列C.由不同边所形成的序列 D.上述定义都不是5.设无向图的顶点个数为n,则该图最多有()条边。

A.n-1 B.n(n-1)/2 C. n(n+1)/2 D.0 E.n26.要连通具有n个顶点的有向图,至少需要()条边。

A.n-l B.n C.n+l D.2n7.在一个无向图中,所有顶点的度数之和等于所有边数()倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的()倍。

A.1/2 B.2 C.1 D.48.下列哪一种图的邻接矩阵是对称矩阵?()A.有向图 B.无向图 C.AOV网 D.AOE网9. 下列说法不正确的是()。

A.图的遍历是从给定的源点出发每一个顶点仅被访问一次B.遍历的基本算法有两种:深度遍历和广度遍历C.图的深度遍历不适用于有向图D.图的深度遍历是一个递归过程10.下面哪一方法可以判断出一个有向图是否有环(回路):A.深度优先遍历 B. 拓扑排序 C. 求最短路径 D. 求关键路径11. 在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为( )。

数据结构第三章习题答案解析

数据结构第三章习题答案解析

第三章习题1.按图3.1(b)所示铁道(两侧铁道均为单向行驶道)进行车厢调度,回答:⑴如进站的车厢序列为123,则可能得到的出站车厢序列是什么?⑵如进站的车厢序列为123456,能否得到435612和135426的出站序列,并说明原因。

(即写出以“S”表示进栈、以“X”表示出栈的栈操作序列)。

2.设队列中有A、B、C、D、E这5个元素,其中队首元素为A。

如果对这个队列重复执行下列4步操作:(1)输出队首元素;(2)把队首元素值插入到队尾;(3)删除队首元素;(4)再次删除队首元素。

直到队列成为空队列为止,得到输出序列:(1)A、C、E、C、C (2) A、C、E(3) A、C、E、C、C、C (4) A、C、E、C3.给出栈的两种存储结构形式名称,在这两种栈的存储结构中如何判别栈空与栈满?4.按照四则运算加、减、乘、除和幂运算(↑)优先关系的惯例,画出对下列算术表达式求值时操作数栈和运算符栈的变化过程:A-B*C/D+E↑F5.试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如‘序列1& 序列2’模式的字符序列。

其中序列1和序列2中都不含字符’&’,且序列2是序列1的逆序列。

例如,‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。

6.假设表达式由单字母变量和双目四则运算算符构成。

试写一个算法,将一个通常书写形式且书写正确的表达式转换为逆波兰式。

7.假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相应的队列初始化、入队列和出队列的算法。

8.要求循环队列不损失一个空间全部都能得到利用, 设置一个标志域tag , 以tag为0或1来区分头尾指针相同时的队列状态的空与满,请编写与此结构相应的入队与出队算法。

9.简述以下算法的功能(其中栈和队列的元素类型均为int):(1)void proc_1(Stack S){ int i, n, A[255];n=0;while(!EmptyStack(S)){n++; Pop(&S, &A[n]);}for(i=1; i<=n; i++)Push(&S, A[i]);}(2)void proc_2(Stack S, int e){ Stack T; int d;InitStack(&T);while(!EmptyStack(S)){ Pop(&S, &d);if (d!=e) Push( &T, d);}while(!EmptyStack(T)){ Pop(&T, &d);Push( &S, d);}}(3)void proc_3(Queue *Q){ Stack S; int d;InitStack(&S);while(!EmptyQueue(*Q)){DeleteQueue(Q, &d);Push( &S, d);}while(!EmptyStack(S)){ Pop(&S, &d);EnterQueue(Q,d)}}实习题1.回文判断。

数据结构习题集第章图

数据结构习题集第章图

第7章图一、选择题1.一个有n 个顶点的无向图最多有()条边。

A、nB、n(n-1)C、n(n-1)/2D、2n2.具有6 个顶点的无向图至少有()条边才能保证是一个连通图。

A、5B、6C、7D、83.具有n 个顶点且每一对不同的顶点之间都有一条边的图被称为()。

A、线性图B、无向完全图C、无向图D、简单图4.具有4个顶点的无向完全图有()条边。

A、6B、12C、16D、205.G是一个非连通无向图,共有28 条边,则该图至少有()个顶点。

A、6B、7C、8D、96.存储稀疏图的数据结构常用的是()。

A、邻接矩阵B、三元组C、邻接表D、十字链表7.对一个具有n个顶点的图,采用邻接矩阵表示则该矩阵的大小为()。

A、nB、(n-1)2C、(n+1)2D、n28.设连通图G的顶点数为n,则G 的生成树的边数为()。

A、n-1B、nC、2nD、2n-19.对于一个具有N个顶点和E条边的无向图,若采用邻接表表示,则表头向量的大小为((1));所有邻接表中的结点总数是((2))。

(1)A、N B、N+1 C、N-1 D、N+E(2)A、E/2 B、E C、2E D、N+E10.对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则表向量的大小为(),所有顶点邻接表的结点总数为()。

A、nB、n+1C、n-1D、2nE、e/2F、eG、2eH、n+e11.在有向图的邻接表存储结构中,顶点v在表结点中出现的次数是()。

A、顶点v 的度B、顶点v 的出度C、顶点v 的入度D、依附于顶点v 的边数12.已知一个图,若从顶点a出发进行深度和广度优先搜索遍历,则可能得到的顶点序列分别为()和()(1) A、abecdf B、acfebd C、acebfd D、acfdeb(2) A、abcedf B、abcefd C、abedfc D、acfdeb13.采用邻接表存储的图的深度和广度优先搜索遍历算法类似于二叉树的()和()。

3.2数据与结构 练习题 高中信息技术同步备课系列(教科版2019 必修1)

3.2数据与结构 练习题 高中信息技术同步备课系列(教科版2019 必修1)

3.2数据与结构练习题1.下列不属于简单数据类型的是()A.浮点型B.整型C.列表D.布尔型2.根据下面数据结构图回答下列问题:(1)上图树结构中的根是。

(2)H,I,J是的子树。

(3)树结构的数据节点之间关系是。

(4)生活中的树结构的例子有。

3.图结构中数据之间的关系是()A. 一对一B.多对多C. 一对多D. 多对一4.线性结构数据之间的关系是()A. 一对一B.多对多C. 一对多D. 多对一5.队列属于()A.线性结构B.树结构C.图结构D.以上均不是6.在线性数据结构中,当前元素的后一位元素被称为()A. 首元素B.前趋元素C. 尾元素D. 后继元素7.全国航运图属于()A.线性结构B.树结构C.图结构D.以上均不是8.在python中[]是用来创建()A.集合B.列表C.元组D.字典9.在python中{}是用来创建()A.集合B.列表C.元组D.字典10.由一组节点(称为顶点)和一组节点间的连线(称为边或弧),构成的一种数据结构是()A.图结构B.选择结构C.线性结构D.树结构11.下列不属于复合数据类型的是()A.元组B.整型C.列表D.集合参考答案:第1题:C第2题:(1)A (2)D (3)一对多(4)行政区划、书的目录、磁盘文件的存储结构第3题:B第4题:A第5题:A第6题:D第7题:C第8题:B第9题:A第10题:C第11题:B。

数据结构第五章图习题

数据结构第五章图习题

05 图【单选题】1. 设无向图G 中有五个顶点,各顶点的度分别为2、4、3、1、2,则G 中边数为(C )。

A、4条 B、5条 C、6条 D、无法确定2. 含n 个顶点的无向完全图有(D )条边;含n 个顶点的有向图最多有(C )条弧;含n 个顶点的有向强连通图最多有(C )条弧;含n 个顶点的有向强连通图最少有(F)条弧;设无向图中有n 个顶点,则要接通全部顶点至少需(G )条边。

A 、n 2B 、n(n+1)C 、n(n-1)D 、n(n-1)/2E 、n+1F 、nG 、n-13. 对下图从顶点a 出发进行深度优先遍历,则(A )是可能得到的遍历序列。

A 、acfgdebB 、abcdefgC 、acdgbefD 、abefgcd对下图从顶点a 出发进行广度优先遍历,则(D )是不可能得到的遍历序列。

A 、abcdefgB 、acdbfgeC 、abdcegfD 、adcbgef4. 设图G 的邻接矩阵A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡010101010,则G 中共有(C )个顶点;若G 为有向图,则G 中共有(D )条弧;若G 为无向图,则G 中共有(B )条边。

A 、1B 、2C 、3D 、4E 、5F 、9G 、以上答案都不对5. 含n 个顶点的图,最少有(B )个连通分量,最多有(D )个连通分量。

A 、0B 、1C 、n-1D 、n6. 用邻接表存储图所用的空间大小(A )。

A 、与图的顶点数和边数都有关B 、只与图的边数有关C 、只与图的顶点数有关D 、与边数的平方有关7. n 个顶点的无向图的邻接表最多有(B )个表结点。

A 、n 2B 、n(n-1)C 、n(n+1)D 、n(n-1)/28. 无向图G=(V ,E),其中:V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是(D )。

数据结构习题与答案图

数据结构习题与答案图

第7章图一、单选题01、在一个图中,所有顶点的度数之和等于图的边数的倍。

A.1/2 B.1C.2D.402、在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的倍。

A.1/2B.1 C.2 D.403、有8个结点的无向图最多有条边。

A.14 B.28 C.56 D.11204、有8个结点的无向连通图最少有条边。

A.5 B.6 C.7 D.805、有8个结点的有向完全图有条边。

A.14 B.28 C.56 D.11206、用邻接表表示图进行广度优先遍历时,通常是采用来实现算法的。

A.栈 B.队列 C.树 D.图07、用邻接表表示图进行深度优先遍历时,通常是采用来实现算法的。

A.栈 B.队列 C.树 D.图08、一个含n个顶点和e条弧的有向图以邻接矩阵表示法为存储结构,则计算该有向图中某个顶点出度的时间复杂度为。

A.O(n)B.O(e)C.O(n+e)D.O(n2)09、已知图的邻接矩阵,根据算法思想,则从顶点0出发按深度优先遍历的结点序列是。

A.0 2 4 3 1 5 6 B.0 1 3 6 5 4 2C.0 1 3 4 2 5 6 D.0 3 6 1 5 4 210、已知图的邻接矩阵同上题,根据算法,则从顶点0出发,按广度优先遍历的结点序列是。

A.0 2 4 3 6 5 1 B.0 1 2 3 4 5 6C.0 4 2 3 1 5 6 D.0 1 3 4 2 5 611、已知图的邻接表如下所示,根据算法,则从顶点0出发按深度优先遍历的结点序列是。

A.0 1 3 2 B.0 2 3 1 C.0 3 2 1 D.0 1 2 3 12、已知图的邻接表如下所示,根据算法,则从顶点0出发按广度优先遍历的结点序列是。

A.0 3 2 1 B.0 1 2 3 C.0 1 3 2 D.0 3 1 2 13、图的深度优先遍历类似于二叉树的。

A.先序遍历 B.中序遍历 C.后序遍历 D.层次遍历14、图的广度优先遍历类似于二叉树的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章图:习题习题一、选择题1.设完全无向图的顶点个数为n,则该图有( )条边。

A. n-lB. n(n-l)/2C.n(n+l)/2D. n(n-l)2.在一个无向图中,所有顶点的度数之和等于所有边数的( )倍。

A.3B.2C.1D.1/23.有向图的一个顶点的度为该顶点的( )。

A.入度B. 出度C.入度与出度之和D.(入度+出度)/24.在无向图G (V,E)中,如果图中任意两个顶点vi、vj (vi、vj∈V,vi≠vj)都的,则称该图是( )。

A.强连通图B.连通图C.非连通图D.非强连通图5.若采用邻接矩阵存储具有n个顶点的一个无向图,则该邻接矩阵是一个( )。

A.上三角矩阵B.稀疏矩阵C.对角矩阵D.对称矩阵6.若采用邻接矩阵存储具有n个顶点的一个有向图,顶点vi的出度等于邻接矩阵A.第i列元素之和B.第i行元素之和减去第i列元素之和C.第i行元素之和D.第i行元素之和加上第i列元素之和7.对于具有e条边的无向图,它的邻接表中有( )个边结点。

A.e-lB.eC.2(e-l)D. 2e8.对于含有n个顶点和e条边的无向连通图,利用普里姆Prim算法产生最小生成时间复杂性为( ),利用克鲁斯卡尔Kruskal算法产生最小生成树(假设边已经按权的次序排序),其时间复杂性为( )。

A. O(n2)B. O(n*e)C. O(n*logn)D.O(e)9.对于一个具有n个顶点和e条边的有向图,拓扑排序总的时间花费为O( )A.nB.n+lC.n-lD.n+e10.在一个带权连通图G中,权值最小的边一定包含在G的( )生成树中。

A.最小B.任何C.广度优先D.深度优先二、填空题1.在一个具有n个顶点的无向完全图中,包含有____条边;在一个具有n个有向完全图中,包含有____条边。

2.对于无向图,顶点vi的度等于其邻接矩阵____ 的元素之和。

3.对于一个具有n个顶点和e条边的无向图,在其邻接表中,含有____个边对于一个具有n个顶点和e条边的有向图,在其邻接表中,含有_______个弧结点。

4.十字链表是有向图的另一种链式存储结构,实际上是将_______和_______结合起来的一种链表。

5.在构造最小生成树时,克鲁斯卡尔算法是一种按_______的次序选择合适的边来构造最小生成树的方法;普里姆算法是按逐个将_______的方式来构造最小生成树的另一种方法。

6.对用邻接表表示的图进行深度优先遍历时,其时间复杂度为一;对用邻接表表示的图进行广度优先遍历时,其时间复杂度为_______。

7.对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数为_______ ,边数为_______。

8.在执行拓扑排序的过程中,当某个顶点的入度为零时,就将此顶点输出,同时将该顶点的所有后继顶点的入度减1。

为了避免重复检测顶点的入度是否为零,需要设立一个____来存放入度为零的顶点。

三、简答题l.回答以下问题:(1)有n个顶点的无向连通图最多需要多少条边?最少需要多少条边?(2)表示一个具有1000个顶点、1000条边的无向图的邻接矩阵有多少个矩阵元素?有多少非零元素?是否为稀疏矩阵?2.题图7-1为一有向图,按要求回答问题:(1)写出各顶点的入度、出度和度。

(2)给出该图的邻接矩阵。

(3)给出该图的邻接表。

(4)给出该图的十字链表。

3.题图7-2为一无向图,请按要求回答问题:(1)画出该图的邻接表。

(2)画出该图的邻接多重表。

(3)分别写出从顶点1出发按深度优先搜索遍历算法得到的顶点序列和按广度优先搜索遍历算法得到的顶点序列。

4.题图7-3为一带权无向图,请按要求回答问题。

(1)画出该图的邻接矩阵,并按普里姆算法求其最小生成树。

(2)画出该图的邻接表,并按克鲁斯卡尔算法求其最小生成树。

5.题图7-4是一带权有向图,试采用狄杰斯特拉Dijkstra算法求从顶点1到其他各项点的最短路径,要求给出整个计算过程。

6.题图7-5为一个带权有向图(1)给出该图的邻接矩阵。

(2)请用弗洛伊德算法求出各顶点对之间的最短路径长度,要求写出其相应的矩阵序列。

7.对于有向无环图,(1)叙述求拓扑有序序列的步骤。

(2)对于题图7-6所示的有向图,写出它的4个不同的拓扑有序序列。

8.题图7-7是一个AOE网,试求:(1)每项活动的最早开始时间和最迟开始时间。

(2)完成整个工程至少需要多少天。

(3)哪些是关键活动。

(4)是否存在某些活动,当提高其速度后能使整个工期缩短。

四、算法设计题1.编写一个算法,判断图G中是否存在从顶点v i到v j的长度为k的简单路径。

2.以邻接表作为图的存储结构,编写实现连通图G的深度优先搜索遍历(从顶点v 出发)的非递归函数。

3.给定n个村庄之间的交通图。

若村庄i与村庄j之间有路可通,则将顶点i与顶点j之间用边连接,边上的权值Wij表示这条道路的长度。

现打算在这n个村庄中选定一个村庄建一所医院。

试编写一个算法,求出该医院应建在哪个村庄,才能使距离医院最远的村庄到医院的路程最短。

4.编写一个函数,计算给定的有向图的邻接矩阵的每对顶点之间的最短路径。

第七章图第7章图一、选择题(参考答案):1.B 2.B 3.C 4.B 5.D6. C 7.D 8.A,D 9.D 10.A二、填空题(参考答案)1.n(n-l)/2, n(n-l)。

2.第i行。

3. 2e, e0 4.邻接表,逆邻接表。

5.权值递增,顶点连通。

6.O(e),O(e)。

7.n,n-l。

8.栈。

三、简答题1.回答以下问题:(1)有n个顶点的无向连通图最多需要多少条边?最少需要多少条边?(2)表示一个具有1000个顶点、1000条边的无向图的邻接矩阵有多少个矩阵元素?有多少非零元素?是否为稀疏矩阵?【解答】(l)有n个顶点的无向连通图最多有n(n-l)/2条边(构成一个无向完全图的情况);最少有n-l条边(n个顶点是连通的)。

(2)这样的矩阵共有lOOO*1000=1000000个矩阵元素,因为有1000条边,所以有20 00非零元素,因此该矩阵是稀疏矩阵。

2.题图7-1为一有向图,按要求回答问题:题图7-1(1)写出各顶点的入度、出度和度。

(2)给出该图的邻接矩阵。

(3)给出该图的邻接表。

(4)给出该图的十字链表。

【解答】(l)各顶点入度、出度和度如下表所示。

(2)邻接矩阵如下所示。

0 0 0 0 0 01 0 0 1 0 00 1 0 0 0 10 0 1 0 1 11 0 0 0 0 01 1 0 0 1 0(3)邻接表如下所示。

(4)十字接表如下所示。

3.题图7-2为一无向图,请按要求回答问题:(1)画出该图的邻接表。

(2)画出该图的邻接多重表。

(3)分别写出从顶点l出发按深度优先搜索遍历算法得到的顶点序列和按广度优先搜索遍历算法得到的顶点序列。

题图7-2【解答】(1)邻接表如下所示。

(2)多重邻接表如下所示。

(3)从顶点1出发,深度优先搜索遍历序列为:123456;广度优先搜索遍历序列为:123 564。

4.题图7-3为一带权无向图,请按要求回答问题:(1)画出该图的邻接矩阵,并按普里姆算法求其最小生成树。

(2)画出该图的邻接表,并按克鲁斯卡尔算法求其最小生成树。

【解答】(1)按普里姆算法其最小生成树如下所示。

(2)按克鲁斯卡尔算法其最小生成树如下所示。

5.题图7-4是一带权有向图,试采用狄杰斯特拉Dijkstra算法求从顶点l到其他各顶点的最短路径,要求给出整个计算过程。

【解答】(1)初值:s[]={1),dist[]={0,20,15,∞,∞,∞}(顶点1到其他各项点的权值),path[]={1,1,1,-l,-1,-1)(顶点l到其他各项点有弧存在时为1,否则为-1)。

(2)在V-S中找最近(dist[]最小)的顶点3,加入S中,即s[]={l,3),并重新计算顶点l到达顶点2,4,5和6的距离,修改相应的dist值:dist[2]=min{dist[2], dist[3]+cost[3][2]}=min{20, 15+4}=19;dist[6l=min{dist[6], dist[3]+cost[3][6]}==Inin{∞,15+10}=25;则有dist[]={0,19,15,∞,∞,25},path[]={l,3,1,-l,-l,3}。

(3)在V-S中找出最近的顶点4,加入S中,即s[]={1,3,2},并重新计算顶点1到达顶点4,5和6的距离,修改相应的dist值:dist[5]-min{dist[5], dist[2]+ cost[2][5])-min{∞,19+10}=29,则有dist[]={0,19,15, ∞,29,25),path[]={l,3,l,-1,2,3}.(4)在V-S中找出最近的顶点6,加入S中,即s[].{1,3,2,6),并重新计算顶点l到达顶点4和5的距离,修改相应的dist值:dist[4]=min{dist[4], dist[6]+cost[6][4])=min{∞..,25+4}=29,则有dist[]={0, 19, 15, 29, 29, 25}, path[]={l,3,1,6,2,3}。

(5)在V-S中找出最近的顶点4,加入S中,即s[]:{l,3,2,6,4},并重新计算顶点l到达顶点5的距离,此时不需要修改dist值,则有dist[]={0,19,15,29,29,2 5),path[]={l,3, l,6,2, 3}。

(6)在V-S中找出最近的顶点5,加入S中,即s口={l,3,2,6,4,5}。

此时S 中包含了图的所有顶点,算法结束。

最终dist[]={0,19,15,29,29,25),path[]={1,3,l,6,2, 3}。

由此得到:从顶点1到顶点2的最短路径长度为:19 最短路径为:2<-3<-1从顶点l到顶点3的最短路径长度为:15 最短路径为:3<-1从顶点l到顶点4的最短路径长度为:29 最短路径为:4<-6<-3<-1从顶点l到顶点5的最短路径长度为:29 最短路径为:5<-2<-3<-l从顶点l到顶点6的最短路径长度为:25 最短路径为:6<-3<-16.题图7-5为一个带权有向图,(1)给出该图的邻接矩阵。

(2)请用弗洛伊德算法求出各顶点对之间的最短路径长度,要求写出其相应的矩阵序列。

【解答】(1)邻接矩阵如下:0 10 ∞∞15 0 6 ∞3 ∞0 4∞8 2 0(2)采用弗洛伊德算法求最短路径的过程如下:7.对于有向无环图,(1)叙述求拓扑有序序列的步骤。

(2)对于题图7-6所示的有向图,写出它的4个不同的拓扑有序序列。

【解答】(1)参见7.6节的介绍。

相关文档
最新文档