好文档 - 专业文书写作范文服务资料分享网站

数据结构课后习题答案

天下 分享 时间: 加入收藏 我要投稿 点赞

? 5 59????4??? ? 5 ? ? 5 ? 3 5 ????? ??? ??? ???? ???43??????

59???5???5?76547?3??63?2?5?2?6?4??????6?????② a b c d e f g

→ → → → → → → b a a b b d d 4 4 3 5 9 6 5 → → → → → → → c c b c d e f 3 5 5 5 7 3 2 → → → → → → d d e f g h 5 → e 9 5 → h 5 7 → f 6 → 3 2 6

g 5 →

h 4

(3)已知图的邻接矩阵如图所示。试分别画出自顶点1出发进行遍历所得的深度优先生成树和广度优先生成树。

(4)有向网如图所示,试用迪杰斯特拉算法求出从顶点a到其他各顶点间的最短路径,完成表。

图 邻接矩阵

? 图 邻接矩阵 图 有向网

表 D 终点 b c d e f g S 终点集 {a,c} {a,c,f} {a,c,f,e} {a,c,f,e,d} {a,c,f,e,d,g} {a,c,f,e,d,g,b} i=1 15 (a,b) 2 (a,c) 12 (a,d) ∞ ∞ ∞ i=2 15 (a,b) 12 (a,d) 10 (a,c,e) 6 (a,c,f) ∞ i=3 15 (a,b) 11 (a,c,f,d) 10 (a,c,e) 16 (a,c,f,g) i=4 15 (a,b) 11 (a,c,f,d) 16 (a,c,f,g) i=5 15 (a,b) 14 (a,c,f,d,g) i=6 15 (a,b)

(5)试对图所示的AOE-网: ① 求这个工程最早可能在什么时间

结束;

② 求每个活动的最早开始时间和最

迟开始时间;

③ 确定哪些活动是关键活动

图 AOE-网

答案:按拓扑有序的顺序计算各个顶点的最早可能开始时间Ve和最迟允许开始时间Vl。然后再计算各个活动的最早可能开始时间e和最迟允许开始时间l,根据l - e = 0? 来确定关键活动,从而确定关键路径。

1 ? Ve Vl 0 0 <1, 2> e l

0 17 2 ? 19 19 <1, 3> 0 0 0 3 ? 15 15 <3, 2> 15 15 0 4 ? 29 37 <2, 4> 19 27 8 5 ? 38 38 <2, 5> 19 19 0 <3, 5> 15 27 12 6 ? 43 43 <4, 6> 29 37 8 <5, 6> 38 38 0

-e 17

3.算法设计题

此工程最早完成时间为43。关键路径为<1, 3><3, 2><2, 5><5, 6>

(1)分别以邻接矩阵和邻接表作为存储结构,实现以下图的基本操作: ① 增加一个新顶点v,InsertVex(G, v); ② 删除顶点v及其相关的边,DeleteVex(G, v); ③ 增加一条边,InsertArc(G, v, w); ④ 删除一条边,DeleteArc(G, v, w)。 [算法描述]

假设图G为有向无权图,以邻接矩阵作为存储结构四个算法分别如下: ① 增加一个新顶点v

Status Insert_Vex(MGraph &G, char v)dj=0; ;

return OK; }dj) {

[j].adj=1; ++; }

return OK; }dj) { [j].adj=0; ;

}

return OK; }余算法类似。

Status Insert_Arc(ALGraph &G,char v,char w)irstarc;p;p=p->nextarc,level--) { level++; k=p->adjvex;

if(!visited[k]&&exist_path(k,j)) return 1;irstarc;p;p=p->nextarc) {l=p->adjvex; if(!visited[l])

if(exist_path_len(G,l,j,k-1)) return 1; 2 C4 C3

C

数据结构课后习题答案

?559????4????5??5?35??????????????????43??????59???5???5?76547?3??63?2?5?2?6?4??????6?????②abcdefg→→→→
推荐度:
点击下载文档文档为doc格式
6g7wh12faz4n7xz5eecp3x5if1klmb00ave
领取福利

微信扫码领取福利

微信扫码分享