浙大远程教育数据结构与算法离线作业参考答案(6)

2018-12-19 21:48

答:

深度优先序列 V0,V1,V2,V5,V4,V6,V3,V7 广度优先序列 V0 V1 V3 V4 V2 V6 V5 V7 【19,6,3】已知有向图如右图所示,请给出该图的 (1) 每个顶点的入度和出度; (2) 邻接矩阵; (3) 邻接表; (4) 逆邻接表; (5) 各个强连通分量。 答:

(1)各顶点的入度和出度如下:

①:3/0 ②2/2 ③ 1/2 ④1/2 ⑤ 2/1 ⑥2/3 (2)邻接矩阵如下: 1 2 3 4 1 0 0 0 0 2 1 0 0 1 3 0 1 0 0 4 0 0 1 0 5 1 0 0 0 6 1 1 0 0 (3)邻接表如下: 1 2 3 4 5 6

^ 1 6 3 1 1 ^ 4 2 5 2 ^ ^ 6 5 5 0 0 0 1 0 1 6 0 0 1 1 0 0 ^ ^ (4)逆邻接表如下: 1

2 3 4 2 4 3

26 6 ^ ^ 2 3 4 5 6

(5)有三个强连通分量:

^ ^ ^ ^ ⑥

① ⑤ ② ④

【20,6,3】试利用Dijkstra算法求下图在从顶点A到其它顶点的最短距离及对应的路径,写出计算过程中各步状态。

答: 1 c:2 2 c:2 f:6 3 c:2 f:6 e:10 4 c:2 f:6 e:10 d:11

27

5 c:2 f:6 e:10 d:11 g:14 6 c:2 f:6 e:10 d:11 g:14 b:15

【21,6,3】给出如下图所示的具有7个结点的网G。请:

(1) 画出该网的邻接矩阵;

(2) 采用Prim算法,从4号结点开始,给出该网的最小生成树(画出Prim算法的执行过程及最

小生成树的生成示意图)。

1 1 6 2 3 7 4

0 5 6 2 5 3 3 2 5 1 4 4

答:

void prim(MGraph g,int v0,int &sum){ int lowcost[MAXSIZE],vset[MAXSIZE];

int v,pre[MAXSIZE]; //pre[]存入前驱结点数组 int i,j,k,min;

v=v0; //初始起点 for(i=1;i<=g.n;i++){

lowcost[i]=g.edges[v0][i]; //lowcost[]的数组 pre[i]=v0; vset[i]=0; }

vset[v0]=1; sum=0; for(i=1;i min=INF;

for(j=1;j<=g.n;j++){

if(vset[j]==0&&lowcost[j] min=lowcost[j]; k=j; } }

vset[k]=1; //将此结点并入到所够造的生成树中 v=k;

28

if(min!=INF){

printf(\边的起点为: %d 终点为: %d 权值为 %d\\n\ sum+=min; }else{

break; }

for(j=1;j<=g.n;j++){//并入新结点后修改剩下的结点到生成树的权值 if(vset[j]==0&&g.edges[v][j] lowcost[j]=g.edges[v][j]; pre[j]=v; //并记其下全趋结点 } } } }

【22,7,4】给定数组{48, 25, 6, 90, 17, 84, 62, 48, 27, 96, 49, 72, 17},请分别用简单选择排序、直接插入排序和冒泡排序分别进行排序,写出排序过程中每一步操作后的结果,分析各自比较和交换的次数,以及排序结果是否稳定。 答:

简单选择排序:

6,25,48, 90, 17, 84, 62, 48, 27, 96, 49, 72, 17 6,17, 48, 90,25, 84, 62, 48, 27, 96, 49, 72, 17 6,17, 17, 90,25, 84, 62, 48, 27, 96, 49, 72, 48 6,17, 17, 25,90 84, 62, 48, 27, 96, 49, 72, 48 6,17, 17, 25, 27, 84, 62, 48, 90 96, 49, 72, 48 6,17, 17, 25, 27, 48 62 84 90 96 49 72 48 6 17 17 25 27 48 48 84 90 96 49 72 62 6 17 17 25 27 48 48 49 90 96 84 72 62 6 17 17 25 27 48 48 49 62 96 84 72 90 6 17 17 25 27 48 48 49 62 72 84 96 90 6 17 17 25 27 48 48 49 62 72 84 96 90

29

6 17 17 25 27 48 48 49 62 72 84 90 96

直接插入排序

6 25 48 90 17 84 62 48 27 96 49 72 17 6 25 48 90 17 84 62 48 27 96 49 72 17 6 25 48 17 90 84 62 48 27 96 49 72 17 6 17 25 48 90 84 62 48 27 96 49 72 17 6 17 25 48 84 90 62 48 27 96 49 72 17 6 17 25 48 62 84 90 48 27 96 49 72 17 6 17 25 48 62 84 90 48 27 96 49 72 17 6 17 25 48 48 62 84 90 27 96 49 72 17 6 17 25 27 48 48 62 84 90 96 49 72 17 6 17 25 27 48 48 62 84 90 96 49 72 17 6 17 25 27 48 48 49 62 84 90 96 72 17 6 17 25 27 48 48 49 62 72 84 90 96 17 6 17 17 25 27 48 48 49 62 72 84 90 96

冒泡排序:

25 48 6 17 84 62 48 27 90 49 72 17 96 25 6 17 48 62 48 27 84 49 72 17 90 96 6 17 25 48 48 27 62 49 72 17 84 90 96 6 17 25 48 27 48 49 62 17 72 84 90 96 6 17 25 27 48 48 49 17 62 72 84 90 96 6 17 25 27 48 48 17 49 62 72 84 90 96 6 17 25 27 48 17 48 49 62 72 84 90 96 6 17 25 27 17 48 48 49 62 72 84 90 96 6 17 25 17 27 48 48 49 62 72 84 90 96

30


浙大远程教育数据结构与算法离线作业参考答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:生产作业与管理例题分析

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

马上注册会员

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