严蔚敏版数据结构习题及参考答案(7)

2019-08-03 14:26

7. 图6-14所示为一个有向网图及其带权邻接矩阵,要求对有向图采用Dijkstra算法,求从V0 到其余各顶点的最短路径。

四、算法设计题

int degree1(Graph & ga, int numb)

2. 编写一个算法,求出邻接矩阵表示的有向图中序号为numb的顶点的度数。 int degree2(Graph & ga, int numb)

图6-15

1. 编写一个算法,求出邻接矩阵表示的无向图中序号为numb的顶点的度数。

a1=3 a3=2 100 V0 30 V5 60 V4 ∞ ∞ 10 ∞ 30 100 ∞ ∞ 5 ∞ ∞ ∞ ∞ ∞ ∞ 50 ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 ∞ ∞ ∞ 20 ∞ 60 ∞ ∞ ∞ ∞ ∞ ∞ (b) 带权邻接矩阵 10 V1 5 V2 10 20 50 V3 (a) 有向带权图

8. 图6-15给出了一个具有15个活动、个事件的工程的AOE网,求关键路径。 图6-14 11有向带权图及其邻接矩阵

v4 v2 v1 a2=4 a7=6 a4=1 v7 a8=8 a11=7 v5 a5=3 a9=4 v3 a6=5 a13=10 v8 a12=4 v1001 a14=1v11 a15=6 v6 a10=2 v9 -31-

3. 编写一个算法,求出邻接表表示的无向图中序号为numb的顶点的度数。 int degree3(GraphL & gl, int numb)

4. 编写一个算法,求出邻接表表示的有向图中序号为numb的顶点的度数。 int degree4(GraphL & gl, int numb)

习题6参考答案

一、单项选择题

1. A 2. D 3. D 4. C 5. B 6. B 7. B 8. A 9. C 10. D 11. C 12. D 13. A 14. B 15. B 17. A 18. A 19. B 20. D 21. A 22. C 23. B 24. A 二、填空题

1. 2 2. n(n-1)/2,n(n-1) 3. 2,4 4. n-1 5. 邻接矩阵,邻接表 6. 1 7. k+1 8. 3

9. n,n 10. 2e,e 11. 出边,入边 12. O(n),O(e/n)

13.O(n2

),O(n+e) 14. acdeb,acedb (答案不唯一) 15. acfebd,acefbd (答案不唯一) 16. 深度,广度 17. n,n-1

18. 唯一

19. 唯一 20. aebdcf(答案不唯一) 三、应用题

1. 深度优先搜索序列:0,1,2,8,3,4,5,6,7,9 广度优先搜索序列:0,1,4,2,7,3,8,6,5,9 2. 深度优先搜索序列:0,4,7,5,8,3,6,1,2 广度优先搜索序列:0,4,3,1,7,5,6,2,8 3. 深度优先搜索序列:0,2,3,5,6,1,4 广度优先搜索序列:0,2,3,5,6,1,4 4. 深度优先搜索序列:0,3,6,4,1,5,2 广度优先搜索序列:0,3,2,6,5,4,1 5. 过程如图6-16所示 60 50 V1 52 V3 45 V1 V3 50 V1 V3 V2 65 50 V4 42 V7 V2 V4 V7 V2 V4 V7 30 40 V5 V6 V5 V6 V5 V6 70 (a)

(b)

(c)

-32-

16. C 50 V1 V3 50 V1 V3 50 V1 V3 V2 V4 V7 V7 V2 V4 V7 V2 V4 50 30 40 V5 V6 40 50 V5 V6 40 V5 V6 (d)

(e)

(f)

V3 50 V1 V3 50 V1 45 V2 V4 42 V7 V2 V4 42 40 50 30 V7 50 30 V5 V6 40 V5 V6 (g)

(h)

图6-16

6. 求解过程如图6-17所示。 V1 V3 V1 V3 V1 V3 V2 V4 V7 V2 V4 V7 V2 V4 42 V7 V5 30 V6 40 V5 30 V6 40 V5 30 V6 (a)

(b)

(c)

V1 V3 V1 V3 V1 V3 V2 V4 42 45 50 45 V7 V2 V4 42 45 50 V7 V2 42 40 V5 30 40 50 V4 V7 V6 V5 30 V6 40 V5 30 V6 (d)

(e)

(f)

图6-17

7. 求解过程如下表所示。 终点 从v0到各终点的D值和最短路径的求解过程 i=1 i=2 i=3 i=4 i=5 V1 ∞ ∞ ∞ ∞ ∞ 无 V2 10 (v0,v2) -33-

V3 ∞ 60 50 (v0,v2,v3) (v0,v4,v3)

V4 30 30 (v0,v4) (v0,v4) V5 100 100 90 60 (v0,v5) (v0,v5) (v0,v4,v5) (v0,v4,v3,v5) Vj V2 V4 V3 V5 S {v0,v2} {v0,v2,v4} {v0,v2,v3,v4} {v0,v2,v3,v4,v5}

8. 求解过程如下: ①事件的最早发生时间ve[k]。

ve (1)=0 ve (2)=3 ve (3)=4 ve (4)=ve(2)+2=5

ve (5)=max{ve(2)+1,ve(3)+3}=7 ve (6)=ve(3)+5=9

ve (7)=max{ve(4)+6,ve(5)+8}=15 ve (8)=ve(5)+4=11

ve (9)=max{ve(8)+10,ve(6)+2}=21 ve (10)=max{ve(8)+4,ve(9)+1}=22 ve (11)=max{ve(7)+7,ve(10)+6}=28

②事件的最迟发生时间vl[k]。 vl (11)= ve (11)=28 vl (10)= vl (11)-6=22 vl (9)= vl (10)-1=21

vl (8)=min{ vl (10)-4, vl (9)-10}=11 vl (7)= vl (11)-7=21 vl (6)= vl (9)-2=19

vl (5)=min{ vl (7)-8,vl (8)-4}=7 vl (4)= vl (7)-6=15

vl (3)=min{ vl (5)-3, vl (6)-5}=4 vl (2)=min{ vl (4)-2, vl (5)-1}=6 vl (1)=min{vl (2)-3, vl (3)-4}=0

③活动ai的最早开始时间e[i]和最晚开始时间l[i]。

活动a1 e (1)=ve (1)=0 l (1)=vl (2) -3 =3 活动a2 e (2)=ve (1)=0 l (2)=vl (3) - 4=0 活动a3 e (3)=ve (2)=3 l (3)=vl (4) - 2=13 活动a4 e (4)=ve (2)=3 l (4)=vl (5) - 1=6

-34-

活动a5 e (5)=ve (3)=4 l (5)=vl (5) - 3=4 活动a6 e (6)=ve (3)=4 l (6)=vl (6) - 5=14 活动a7 e (7)=ve (4)=5 l (7)=vl (7) - 6=15 活动a8 e (8)=ve (5)=7 l (8)=vl (7) - 8=13 活动a9 e (9)=ve (5)=7 l (9)=vl (8) - 4=7 活动a10 e (10)=ve (6)=9 l (10)=vl (9) - 2=19 活动a11 e (11)=ve (7)=15 l (11)=vl (11) - 7=21 活动a12 e (12)=ve (8)=11 l (12)=vl (10) - 4=18 活动a13 e (13)=ve (8)=11 l (13)=vl (9) - 10=11 活动a14 e (14)=ve (9)=21 l (14)=vl (10) -1=21 活动a15 e (15)=ve (10)=22 l (15)=vl (11) -6 =22

④最后,比较e[i]和l[i]的值可判断出a2,a5,a9,a13,a14,a15是关键活动,关键路径如图6-18所示。

a9=4 v1 a2=4 v5 v3 a5=3 v11 a15=6 v8 a13=10 v9

四、算法设计题

图6-18

01 a14=1 v101. int degree1(Graph & ga, int numb)

{ //根据无向图的邻接矩阵求出序号为numb的顶点的度数 int j,d=0;

for(j=0; j

if (ga.cost[numb][j]!=0 && ga.cost[numb][j]!=MAXINT)

d++;

return (d); }

2. int degree2(Graph & ga, int numb)

//根据有向图的邻接矩阵求出序号为numb的顶点的度数 { int i,j,d=0;

//求出顶点numb的出度 for(j=0; j

if(ga.cost[numb][j]!=0 && ga.cost[numb][j]!=MAXINT)

-35-


严蔚敏版数据结构习题及参考答案(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:惯量匹配和最佳传动比

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: