第一范文网 - 专业文章范例文档资料分享平台

最小生成树的应用数据结构课程设计

来源:用户分享 时间:2025/6/10 9:01:10 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

int weight; }AdjMatrix[MAX][MAX]; Typedef struct {

djMatrix arc; int vexnum, arcnum; } MGraph;

3.2模块划分

本程序包括五个模块: (1)主函数模块

(2) 邻接矩阵定义模块代码

typedef struct ArcCell{ int adj; char *info; }ArcCell,AdjMatrix[20][20]; typedef struct {

char vexs[20]; AdjMatrix arcs; int vexnum,arcnum; }MGraph_L;

int localvex(MGraph_L G,char v)

{ int i=0; while(G.vexs[i]!=v)

3

{ ++i;} return i;}

(3) 创建链接矩阵模块代码

int creatMGraph_L(MGraph_L &G) { char v1,v2; int i,j,w;

cout<<\创建无向图(城市分布图)…\请输入图G顶点(城市)和弧(边)的个数:(4 6)不包括“()”\ cin>>G.vexnum>>G.arcnum; for(i=0;i!=G.vexnum;++i)

{ cout<<\输入顶点(城市)\

cin>>G.vexs[i]; } for(i=0;i!=G.vexnum;++i)

for(j=0;j!=G.vexnum;++j)

{

G.arcs[i][j].adj=int_max;

G.arcs[i][j].info=NULL; }

for(int k=0;k!=G.arcnum;++k)

{ cout<<\输入一条边依附的顶点(城市)和权(距离):(a b 3)不包

括“()”\ cin>>v1>>v2>>w;

i=localvex(G,v1); j=localvex(G,v2); G.arcs[i][j].adj=w; G.arcs[j][i].adj=w;}

cout<<\图G邻接矩阵创建成功!\ return

4

G.vexnum;}

(4)最小生成树Prim算法及代价模块代码 (5)最小生成树kruskal算法及代价模块代码

4 详细设计

4.1数据类型的定义

(1)树类型

#define MAXVALUE 100 #define MAXLEAF 50

#define MAXNODE MAXLEAF*2-1;

(2)图类型

typedef struct node { int adjvex;

int w;

struct node *nextedge;

}edgenode; typedef struct {

char data; int id; edgenode *firstedge;

}vexnode;

4.2主要模块的算法描述

(1)主函数

algraph gra; MGraph_L G; char a='a'; d=creatMGraph_L(G);

5

int i,d,g[20][20]; vnode v;

cout<

while(y='y') { cout<<\请选择菜单:\ cin>>s; switch(s){

case 0: cout<<\邻接矩阵显示如下:\ ljjzprint(G); break; case 1: for(i=0;i!=G.vexnum;++i)

for(intj=0;j!=G.vexnum;++j) g[i+1][j+1]=G.arcs[i][j].adj; cout<<\ prim(g,d); break; } cout<>y; if(y=='n') break; }

}

6

搜索更多关于: 最小生成树的应用数据结构课程设计 的文档
最小生成树的应用数据结构课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c22wec6h79k4m0xc0pdu0_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top