当前位置: 首页 > news >正文

数据结构和算法(十二)--最小生成树

一、最小生成树

1、最小生成树

    定义:图的生成树是它的一颗含有其所有顶点的无环连通子图,一副加权无向图的最小生成树它的一颗权值(树中所有边的权重之和)最小的生成树。

    约定:只考虑连通图。最小生成树的定义说明它只能存在于连通图中,如果图不是连通的,那么分别计算每个连通图子图的最小生成树,合并到一起称为最小生成森林。

    所有边的权重都各不相同。如果不同的边权重可以相同,那么一副图的最小生成树就可能不唯一了,虽然我们的算法可以处理这种情况,但为了好理解,我们约定所有边的权重都各不相同。

2、最小生成树原理

2.1、树的性质

1、用一条边连接树中的任意两个顶点都会产生一个新的环;

2、从树中删除任意一条边,将会得到两颗独立的树;

2.2、切分定理

  要从一副连通图中找出该图 最小生成树,需要通过切分定理完成。

切分:将图中所有顶点按照某些规则分为两个非空且没有交集的集合。

横切边:连接两个属于不同集合的顶点的边称为横切边。

例:将下图的顶点切分为两个集合,灰色顶点属于一个集合,白色顶点属于另外一个集合。

切分定理:在一副加权图中,给定任意的切分,它的横切边中的权重最小者必然属于图中的最小生成树。

注意:一次切分产生的多个横切边中,权重最小的边不一定是所有横切边中唯一属于图的最小生成树的边。

3、贪心算法

    贪心算法是计算图的最小生成树的基础算法,它的基本原理就是切分定理使用切分定理找到最小生成树的一条边,不断的重复查到最小生成树的所有边。如果图有V个边,那么需要找到V-1条边,就可以表示该图的最小生成树。

计算图的最小生成树的算法有很多种,但是这些算法都可以看做是贪心算法的一种特殊情况,这些算法的不同之处在于保存切分和判定权重最小的横切边的方式。

4、Prim算法

数据结构和算法(一)

数据结构--栈、队列、链表、散列表、排序二叉树

数据结构和算法(十一)--图

再小的努力,乘以365都很明显!
每天⽤⼼记录⼀点点。内容也许不重要,但习惯很重要!
一个程序员最重要的能力是:写出高质量的代码!!
有道无术,术尚可求也,有术无道,止于术。
无论你是年轻还是年长,所有程序员都需要记住:时刻努力学习新技术,否则就会被时代抛弃!

相关文章:

  • 做好一个测试开发工程师第二阶段:java入门:idea新建一个project后默认生成的.idea/src/out文件文件夹代表什么意思?
  • 基于开源AI大模型AI智能名片S2B2C商城小程序,探究私域电商中人格域积累与直播电商发展
  • 每日算法-250408
  • 使用Java多线程和POI进行Elasticsearch大批量数据导出
  • linux开发环境
  • 物联网外设管理服务平台
  • 吊舱的陀螺稳定系统技术要点!
  • java设计模式-建造者模式
  • 【算法竞赛】树上最长公共路径前缀(蓝桥杯2024真题·团建·超详细解析)
  • 【家政平台开发(27)】商务部信用对接、法律咨询与视频面试功能开发全攻略
  • ADI的BF561双核DSP怎么做开发,我来说一说(六)IDE硬盘设计
  • EasyExcel实现图片导出功能(记录)
  • OpenHarmony-AI调研
  • Proximal Policy Optimization (PPO)2017
  • MySQL详解最新的官方备份方式Clone Plugin
  • 【机器学习】决策树
  • Java的JDK、JRE、JVM关系与作用
  • 【Axure元件分享】移动端滑动拨盘日期选择器
  • WHAT - React 惰性初始化
  • Qwen - 14B 怎么实现本地部署,权重参数大小:21GB
  • 网站开发wbs图/排名优化
  • 网站备案个人备案公司网站/网站运营包括哪些内容
  • 组网方案设计/成都seo网站qq
  • 做微博推广的网站吗/seo刷网站
  • 做哪一类网站容易有排名/seo 首页
  • 支付网站费怎么做会计分录/北京seo优化费用