-----------最小生成树----------------

最小生成树(Minimum Spanning Tree)

  1:是一棵树(是一种特殊的图)

      连通的,没有回路 有V 个顶点 一定有 V-1条边

     2:生成树

      包含了全部的顶点,所有的V-1条边  都在图里

剩下的三个土  都是第一个完全图的生成树

只要是 4个顶点 3条边   没有回路 就是生成树     这3个图 随便的加一条边  都会变成一个回路   也就不是 最小生成树了.   

  3:最小  

        边的权重之和最小

最小生成树存在  和   图连同  是充分必要条件

 ---------------------------------------------------------------------------------------------------------------------------

不论什么方法解决最小生成树问题都离不开 贪心算法

什么是贪 : 每一步都要最好的 .

什么是好 : 权重最小的边 . 

需要约束:                         

只能用图里面的边.

只能刚好用掉V-1条边

不能有回路

贪心算法之一

Prim算法-让一颗小树长大

 用Dijkstra算法和Prim算法比较一下感觉几乎一样

Prime算法  生成树的顺序是V1,V4,V2,V3,V7,V6,V5,

//                       Dijkstra算法
/*
依鄙人之见,Dijkstra算法 就是走一个一定最小的步子,走完之后丈量一下去下一个地方需要多少步然后 给那个地方打上标签 这时候 可能会出现 A->B 为80 但是 A->C->B 为 5的情况 所以 在走完第一步之后 在第一部的基础上丈量完 然后走 离现在距离最近的点这个点 该点一定没有 A 离源点近 但是改点是距离 A最近的 就这样 逐步求最小 不停的修改 */ void Dijkstra( Vertex s ) // 看来 再看一遍 写笔记 很重要 { while (1) {V = 未收录顶点中dist 最小者;if ( 这样的V在 不存在 )break;collected[V] = true;for ( V 点 的每个邻接点 W )if ( collected[W] == false )if ( dist[V]+E <V,W> < dist[W] ){dist[W] = dist[V] + E <V,W> ;path[W] = V;}} }

 

//                    Prim算法

void
Prim() {MST=(s);while(1){V=未收录顶点中dist最小者 // 和源点相邻的就是权重 . 剩下的是正无穷.if(都被收录了)break;dist[V]=0;//将V收录进MST for(V的 每个临接点W){if(dist[W]!=0) //没有被收录 的话 {if(E(v,w)<dist[W]){dist[W]=E(v,w);parent[W]=V;}}}}if(MST中的顶点不到V个) //就是 有独立的点 不连通的图. ERRor(生成树不存在) }

 

----------------图比较稀疏---------------- 

//                    Kruskal算法
//这个算法的核心就是    贪心了      将每一条边 一个一个的收录进去 (不能有回路)(变得个数是点的个数-1)void
void Kruskal(Graph G)
{MST={};   //生成一个空树while(MST中不到V-1条边&&E中还有边){从E中取一条权重最小的边E(v,w);  //用最小堆
        将E(v,w)从E中删除;if(E(v,w)不再MST中构成回路)   //  用并查集
            将E(v,w)加入MTS;else彻底无视E(v,w);}if(MST中不到V-1条边)Error("生成树不存在");
}

 

转载于:https://www.cnblogs.com/A-FM/p/5153775.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jQuery Easing 使用方法及其图解

从jQuery API 文档中可以知道&#xff0c;jQuery自定义动画的函数.animate( properties [, duration] [, easing] [, complete] )有四个参数&#xff1a; properties&#xff1a;一组包含作为动画属性和终值的样式属性和及其值的集合duration(可选)&#xff1a;动画执行时间&am…

可以进行单元测试么_前端与单元测试

先来几个专业词汇&#xff0c;这样显得高大上一点&#xff08;不存在的。&#xff09;BDD: Behavior-Driven Development (行为驱动开发)TDD: Test-Driven Development (测试驱动开发)ATDD: Acceptance Test Driven Development(验收测试驱动开发)好&#xff0c;说完了&#xf…

excel 行高 上下留白_拒绝加班,工作中最常用的57个Excel小技巧来了!

今天高顿君分享的 Excel小技巧&#xff0c;全是工作是最常用且简单易操作的&#xff0c;共57个&#xff0c;希望对同学们有所帮助。&#xff08;适合版本 Excel2007及以上&#xff09;一、文件操作1、为excel文件添加打开密码文件 - 信息 - 保护工作簿 - 用密码进行加密。2、为…

经验分享:三步走教你升级企业NAS设备

前几年凡是对于数据存储有需求的企业都已经购买了相关的NAS产品&#xff0c;不过电脑和网络升级换代是比较频繁的&#xff0c;几年过去了中小企业对数据存储的需求也水涨船高&#xff0c;然而面对当初的NAS存储设备该如何处理呢&#xff1f;扔掉可惜使用又不如意的鸡肋问题能够…

获取访客进站关键词_拼多多访客突然下降是为什么?拼多多访客突然暴涨又是怎么回事?...

在当下这个互联网时代&#xff0c;可以说流量就代表这金钱。这一点在做电商的商家那里表现的就更为直观了&#xff0c;如果你做了一个拼多多的店铺&#xff0c;之前店铺的流量一直都比较好&#xff0c;而现在拼多多店铺的流量忽然下降了&#xff0c;那么店铺中的销售额就会受到…

通过Matlab实现离散序列卷积和

前言 年轻人&#xff0c;你对数学一无所知&#xff0c;你只是习惯了而已。—冯诺伊曼 Young man, in mathematics you dont understand things. You just get used to them.—John von Neumann。 一、卷积和是什么&#xff1f; 卷积的本质是描述一个瞬时动作&#xff08;激励…

mac电脑下Tomcat和Apach配置流程(超详细)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 前言 本章介绍在mac 电脑下如何配置Tomcat、Apach等环境 一、Apache介绍及配置 1.XAMPP安装 为了更好的进行各项软件服务的配置&#xff0c;引入快捷脚本工具——XMAPP。…

cvc 降噪_耳机降噪功能这么多,说说什么是ANC、ENC、CVC、DSP降噪

降噪功能对耳机的作用很重要&#xff0c;一是减少噪音&#xff0c;避免过度放大音量&#xff0c;从而减少对耳朵的损害。二是过滤噪音从而提高音质和通话质量。降噪可分为被动式降噪和主动式降噪。被动式降噪也就是物理降噪&#xff0c;被动式降噪是指利用物理特性将外部噪声与…

RPC 和 RESTful

2019独角兽企业重金招聘Python工程师标准>>> to do ... 转载于:https://my.oschina.net/u/2002769/blog/1505410

密码学入门1——凯撒密码和三重DES加解密

实验目的 1、完成第一个入门加解密——凯撒密码 2、完成当下较为流行的三重DES加解密技术 3、熟悉所学的实际运用方向 实验准备 硬件&#xff1a;计算机或笔记本电脑 操作系统&#xff1a;Mac操作系统 IDE环境&#xff1a;Eclipse 程序语言&#xff1a;Java 一、实验基本…

emqx 使用端口_数据传输、存储、展现,EMQ X + TDengine 搭建 MQTT 物联网数据可视化平台...

物联网数据采集涉及到大量设备接入、海量的时序数据传输&#xff0c;EMQ X 消息中间件与 TDengine 大数据平台的组合技术栈完全能够胜任场景中的海量时间序列监测数据的传输、存储和计算。数据入库后&#xff0c;往往需要其他方式如数据可视化系统将数据按照规则统计、展现出来…

python字符串去头尾_带你认识优秀的python代码

有一串长的字符串names "LI XIA , ZHAO MING ,LAO WANG *,DA XIONG >,LI MEI MEI, CHANG JIANG,LI QIANG,ZHANG WU JI,ZHANG SAN FENG,DU GU QIU BAI,QIAO FENG"。要求&#xff1a;&#xff08;1&#xff09;过滤所有的名字&#xff0c;去掉每个名字左右的空格和…

python学习笔记之装饰器、递归、算法(第四天)

参考老师的博客&#xff1a; 金角&#xff1a;http://www.cnblogs.com/alex3714/articles/5161349.html 银角&#xff1a;http://www.cnblogs.com/wupeiqi/articles/4963027.html 一、冒泡算法实例&#xff1a; a [32,5,22,41,7,31,12,102,74,37,9,25] 1、方法1&#xff1a; c…

数字信号处理笔记1-信号与常见操作

年轻人&#xff0c;你对数学一无所知&#xff0c;你只是习惯了而已。 —冯诺伊曼 前言 本学期开始跟着实验室学习计算机视觉领域&#xff0c;而一个重要的基础知识就是《数字图像处理》&#xff0c;而数字信号处理作为一个大类&#xff0c;可以将数字图像处理理解为数字信号处…

[linux驱动]linux驱动模块

一&#xff0c;内核模块的概念 经常在内核驱动代码看到类似fs_init()等驱动初始化函数&#xff0c;那么这个和module_init()函数的差别在哪里&#xff0c;宏定义__define_initcall(level,fn)对于内核的初始化很重要&#xff0c;他指示编译器在编译的时候&#xff0c;将一系列初…

看我如何基于PythonFacepp打造智能监控系统

由于种种原因&#xff0c;最近想亲自做一个基于python&facepp打造的智能监控系统。 000&#xff1a;萌芽 1&#xff1a;暑假在家很无聊 想出去玩&#xff0c;找不到人。玩个lol&#xff08;已卸载&#xff09;&#xff0c;老是坑人。实在是无聊至极&#xff0c;不过&#x…

c++ 遍历所有点且距离最短_编程小白暑期进阶笔记41-C语言数据结构与算法图遍历的应用...

基于广度优先遍历算法的应用思考题&#xff1a;&#xff08;思考题答案&#xff1a;BFS(广度优先遍历)在一般的带权图中是不能解决最短路问题&#xff0c;了解BFS的都知道&#xff0c;BFS是根据节点到源节点之间的节点数遍历的&#xff0c;也就是先访问离源节点节点数最少的点。…

关于@WebServlet(“LoginServlet“)404 报错的解决办法 “请求的资源[/test/LoginServlet] 不可用”

关于WebServlet&#xff08;“LoginServlet”&#xff09;404 报错的解决办法 “请求的资源[/test/LoginServlet] 不可用” *一切事物的开头总是困难这句话&#xff0c;在任何一种科学上都是适用的。 * ——马克思 一个困扰了我n天的问题&#xff0c;终于终于还是解决了&#…

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建

ASP.NET MVCEF框架EasyUI实现权限管理系列(14)-主框架搭建 原文:ASP.NET MVCEF框架EasyUI实现权限管理系列(14)-主框架搭建ASP.NET MVCEF框架EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据库访问层的设计Demo (3):面向接口编程 (4 ):业务逻辑层的封装 (5):前台…

常用事务代码 sap_SAP_PS_事务代码

[转]SAP PS常用事务代码T-CODESAP项目系统(Project System&#xff0c;以下简称PS)模块作为传统的非常规模块(除FI、CO、MM、PP、SD之外的模块)之一&#xff0c;在最近几年在国内也得到的较为广泛的应用,与PS应用火热场景相对应的是PS内外部顾问的极度缺乏。这种缺乏一方面表现…