登录
|
注册
|
QQ账号登录
|
常见问题
联系我们:
我要上传
首页
浏览
幼儿/小学教育
中学教育
高等教育
研究生考试
外语学习
资格/认证考试
论文
IT计算机
经济/贸易/财会
管理/人力资源
建筑/环境
汽车/机械/制造
研究报告
办公文档
生活休闲
金融/股票/期货
法律/法学
通信/电子
医学/心理学
行业资料
文学/艺术/军事/历史
我的淘豆
我要上传
帮助中心
复制
下载此文档
数据结构,最小生成树克鲁斯卡尔算法的实现.docx
文档分类:
IT计算机
|
页数:约27页
举报非法文档有奖
分享到:
1
/
27
下载此文档
搜索
下载此文档
关闭预览
下载提示
1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
2.下载该文档所得收入归上传者、原创者。
3.下载的文档,不会出现我们的网址水印。
同意并开始全文预览
(约 1-6 秒)
下载文档到电脑,查找使用更方便
下 载
还剩?页未读,
继续阅读
分享到:
1
/
27
下载此文档
文档列表
文档介绍
数据结构,最小生成树克鲁斯卡尔算法的实现.docx
摘要
设计了一个用C/C++编写程序实现克鲁斯卡尔最小生成树算
法,该程序操作简单,界面清晰,易于为用户所接受。
关键词:克鲁斯卡尔,邻接矩阵,最小生成树,VC++。
目录
课题描述 1
问题分析和任务定义 2
逻矩阵。最后在完 成图的信息输入即建立图以后输出图的邻接矩阵表。
•模块二:求图的最小生成树。
void minitree_KRUSKAL(MGraph *G)
{
int i,min,j,k;
VEX t[M];
for(i=1;i<=G->n;i++)
{
t[i].data=G->vexs[i];
t[i].jihe=i;
}
i=1;
while (i<G->n)
{
min=MaxVertexNum;
for (j=0;j<G->e;j++)
{
if (e[j].weight<min&&e[j].flag==0)
{
min=e[j].weight;
k=j;
}
}
if (t[e[k].vexh].jihe!=t[e[k].vext].jihe)
{
e[k].flag=1;
for (j=1;j<=G->n;j++)
if (t[j].jihe==t[e[k].vext].jihe)
t[j].jihe=t[e[k].vexh].jihe;
t[e[k].vext].jihe=t[e[k].vexh].jihe;
i++;
} else e[k].flag=2;
}
printf("克鲁斯卡尔最小生成树:\n");
for (i=0;i<G->e;i++)
if (e[i].flag==1)
p r i n t f ( " (%d,%d) %d \ n " ,e[ i ].vexh,e[ i ].vex t ,e[ i ].we i gh t ) ; //输
出最小生成树
}
该步骤应用的是克鲁斯卡尔算法,它的基本思想是:每次选不 属于同一连通分量(保证不生成圈)且边权值最小的顶点,将边加入
MST (Minimum Spanning Tree最小生成树),并将所在的2个连通分
量合并,直到只剩一个连通分量。
所示。
[iB)
口
请输入该图每 条边对应的两 个顶点的名称
请输入该 图的顶点 数和边数-
输入错
误,请重
新输入
请输入该 图的顶点
get char(); scanf("%c",&
.we
e[p」.vexh=i : e[p]. e[p] //权值 e[p].flag=0:
请输入第%d条边的顶点 序号
请输入第%d条边的权值 大小
i++
( 、
i<=G->n
t[i].data=G-
>vexs[i]; t[i].jihe=i;
min=MaxVertexNum;
j=0
e[j].weight<m in&&
-■••q j].flag==0"
min=e[j].weight; k=j;
t[e[k].vexh].ji
e[k] flag=2
e[k].flag=1
"/'t[j].jihe==t[e[k]
■ ..vext].jihe.'
t[j].jihe=t[e[k].vexh ].jihe;
t[e[k].vext].jihe=t[e [k].vexh].jihe;
i++;
i++
输出最小
生成树
结束
图
程序编码
#include <>
#define MaxVertexNum 100 //最大顶点个数
#define M 30
typedef enum{FALSE,TRUE}Boolean;
Boolean visited[MaxVertexNum]; //访问标志数组
typedef char VertexType;
typedef int EdgeType;
typedef struct Lnode
{
int w;//相应一条边的权值
}Link;
typedef struct
{
VertexType vexs[MaxVertexNum]; //顶点表
Link edges[MaxVer texNum][MaxVer
数据结构,最小生成树克鲁斯卡尔算法的实现 来自淘豆网m.daumloan.com转载请标明出处.
猜你喜欢
100字的学生入团志愿书范文(27篇)
23页
200米运动员加油稿60字(7篇)
5页
创造有价值的人生(PPT 60页)
61页
2024乡镇小学教研员培训工作总结范文(3篇)
8页
2024党员政治学习笔记(3篇)
7页
2024农业合同(3篇)
9页
2024学习全面从严治党心得体会三篇
5页
2024年6月初一入团申请书范文400字(7篇)
10页
产前超声检查规范和相关法规文件
55页
FQC教材
51页
动物实验基本技术
62页
动态几何中的动点型问题
16页
2025年宾水西道排水顶管施工组织设计
20页
2025年室内装修工程合同范本碧桂园集团合同底..
5页
2025年实验中学班级文化暨教室布置和美化评比..
2页
相关文档
更多>>
非法内容举报中心
文档信息
页数
:
27
收藏数
:
0
收藏
顶次数
:
0
顶
上传人
:
xiaobaizhua
文件大小
:
160 KB
时间
:
2022-06-17
相关标签
克鲁斯卡尔算法
最小生成树算法
最小生成树kruskal算法
数据结构算法
数据结构与算法
数据结构和算法
生成树算法
java数据结构与算法
数据结构排序算法
python数据结构与算法
计算机原理
PHP资料
linux/Unix相关
C/C++资料
Java
.NET
windows相关
开发文档
管理信息系统
软件工程
网络信息安全
网络与通信
图形图像
行业软件
人工智能
计算机辅助设计
多媒体
软件测试
计算机硬件与维护
网站策划/UE
网页设计/UI
网吧管理
电子支付
搜索引擎优化
服务器
电子商务
Visual Basic
数据挖掘与模式识别
数据库
Web服务
网络资源
Delphi/Perl
Python
CSS/Script
Flash/Flex
手机开发
UML理论/建模
并行计算/云计算
嵌入式开发
计算机应用/办公自动化
SEO
最近更新
高毒物品危害及其防护
高二化学选修5油脂知识点
发动机故障排除
钢结构技术交底模板
钢管阴极保护工程施工方案
钢筋混凝土强制电流法阴极保护系统实施方案..
钢屋架及支撑、拉杆制作、安装技术质量交底..
盖梁施工方案
半导体材料电化学
2024关于感恩的素材(优质5篇)
城市管理法规 01城市管理法规
动物疫病防治技术
财务货币的时间价值理念
功率因数补偿柜的使用维护
2025年安全文明施工样板展示区专项施工方案..
2025年学会宽容读后感
2025年天然气输配工程建设项目社会稳定风险..
2025年大学生寒假社会实践心得体会事务所实..
2025年多绳式矿井提升机设计
全新个人把车租给公司租车协议
最新部编版六年级道德与法治下册课程纲要
射频消融术后护理常规
舞蹈编导基本知识
《园林绿化工程施工及验收规范》(CJJ82-202..
高考化学元素推断题大题
某建筑公司钻机施工
基药叶酸片原研处方工艺分析
八 年 级 物 理 试 题
穿山甲的加工炮制及服用方法
在线
客服
微信
客服
意见
反馈
手机
查看
返回
顶部