Python实现Kruskal 和Prim算法求解无向连通图的最小生成树问题

董付国老师Python系列教材推荐与选用参考

开学第一课:一定不要这样问老师Python问题

3000道Python习题免费在线练习

==============

版权声明:由于公众号后台规则问题,本文暂时无法设置原创标记,但仍属原创内容,微信公众号“Python小屋”坚持只发原创技术文章。

=============

推荐教材1:董付国编著,Python数据分析、挖掘与可视化(慕课版),ISBN:9787115523617,人民邮电出版社,2020年1月出版,2023年7月第11次印刷,定价49.8元,配套慕课“Python数据分析与数据可视化”被评为智慧树精品课程

1ffc340457251a24644c9f1ccf5fb64a.png

图书详情:ed1d3631b6741aa8c0f2f1283f5a74f8.png

图书内容:Python快速入门,NumPy数组与矩阵运算,Pandas数据分析实战,sklearn机器学习实战,Matplotlib数据可视化实战

配套慕课:智慧树网搜索“董付国”,书中二维码也可以看微课

页数:264

适用专业:计算机、数据科学、统计、管理

适用层次:研究生/本科/专科

适用学时:48/64

样书申请:https://www.ryjiaoyu.com/book/details/39047

================

推荐教材2:董付国著,《Python程序设计与数据采集(微课版)》,ISBN:978-7-115-61183-3,人民邮电出版社,2023年5月出版,2023年9月第2次印刷,定价59.8元

配套资源:教学大纲、电子教案、课件、源码、数据文件、章节习题及答案、25小时微课、在线练习与考试系统

样书申请:https://www.ryjiaoyu.com/book/details/45732

600496ce84ea61c9c048f5f31ae7f2b7.jpeg

=============

问题描述:

从边赋权图上选择一部分边得到一个子图,子图与原图具有共同的顶点,子图的边是原图的边的子集,且子图具有最小的开销(边的权值之和最小),符合这样要求的子图称作最小生成树,这类问题称作最小生成树问题。

求解最小生成树问题的主流算法有克鲁斯卡尔(Kruskal)算法和普利姆(Prim)算法。

克鲁斯卡尔算法的基本思想是:按权值从小到大的顺序把边增加到子图中直到子图变为连通图,如果某条边加入后会产生圈则不加入该边。

普利姆算法的基本思想是:从任意一个顶点开始逐个顶点进行判断并不断地扩张连通分支的规模,直到所有顶点都连通起来。这两种算法都属于贪心算法。

参考代码:

17fb95df5c02e1f779ed47537283c148.png

运行结果:

ded9a0739ac782213e73749059be0e4c.png

=================

温馨提示:

关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过190次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1300篇原创技术文章;发送消息“会议”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过700节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习2601道客观题和722道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值