首页 > 其他分享 >最小生成树

最小生成树

时间:2024-03-06 22:13:33浏览次数:21  
标签:连通 Prim 最小 生成 选择 dis

求一个图的最小生成树。

本文不面向读者。

一般是无向图?

只考虑连通图。

Kruskal

贪心。将每条边的边权从小到大排序,依次加入边。用一个并查集维护点的连通情况,如果该边两个端点尚未连通,则选择此边,否则检查下一条边。当加入 \(n-1\) 条边后,算法结束。

时间复杂度 \(O(m \log m)\)。

Prim

一般都写 Kruskal 的,如果为稠密图/完全图才用 Prim。故只描述暴力 Prim。

依然贪心。

类似 Dij,从任意一个点开始,维护 \(dis_i\) 表示已连通的点到点 \(i\) 的最小距离,同时维护 \(vis_i\) 表示是否连通(已选择)。每次选择一个 \(dis_u\) 最小的 \(u\),且 \(vis_u=\text{false}\),即 \(u\) 为被选择,那么选择 \(u\),最小生成树权值和加上 \(dis_u\),然后用 \(u\) 更新其他点的距离。

标签:连通,Prim,最小,生成,选择,dis
From: https://www.cnblogs.com/chargedcreeper/p/-/mst

相关文章

  • 代码随想录算法训练营第三十八天| ● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯
    理论基础 代码随想录(programmercarl.com)动态规划的五部曲:确定dp数组(dptable)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组斐波那契数 题目链接:509.斐波那契数-力扣(LeetCode)思路:还好。classSolution{public:intfib(intn)......
  • pageoffice6动态生成Excel文件
    转载:动态生成Excel文件#动态生成Excel文件查看本示例演示效果本示例关键代码的编写位置Vue+Springboot注意本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。使用com.zhuozhengsoft.pageoffice.excelwriter命名空......
  • 530. 二叉搜索树的最小绝对差c
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*structTreeNode*left;*structTreeNode*right;*};*/voidinorder(structTreeNode*root,int*t,int*pre){if(!root)return;inorder(root->left,t,pr......
  • 代码随想录算法训练营第三十八天 | 746. 使用最小花费爬楼梯,、70. 爬楼梯,509. 斐波那
     509.斐波那契数 已解答简单 相关标签相关企业 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2),其中n>......
  • 【C++】求二叉树的最大深度和最小深度
    //求一颗二叉树的最大深度求高度:后序遍历求深度:前序遍历intmaxDepth(TreeNode*root){returnroot?1+max(maxDepth(root->left),maxDepth(root->right)):0;}//求一颗二叉树的最小深度(实质上是后序遍历)intminDepth(TreeNode*root){if(!root)retur......
  • 生成式AI大爆发后,2024年人工智能行业有哪些新趋势
    在MenloVentures的AI趋势研究报告中,对美国和欧洲的450多名企业高管进行了调查,并与另外十几位高管进行了交谈,以了解当今企业应用AI的状况。尽管大肆宣传,与其他软件类别相比,企业对生成式AI的投资仍然小得惊人。将创造的大部分价值仍有待观察。虽然现有企业在当今市场占据主导......
  • 111. 二叉树的最小深度c
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*structTreeNode*left;*structTreeNode*right;*};*/intmin(inti,intj){if(i<j)returni;returnj;}intminDepth(structTreeNode*root){......
  • 【HarmonyOS NEXT】解决Scan Kit生成二维码不支持添加logo图片
    ​ 【关键字】HarmonyOS、ScanKit、二维码、logo图片、生成二维码 1、写在前面HarmonyOS的ScanKit提供了码图生成的能力,具体的使用方式可以参考开发指南:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/scan-barcodegenerate-0000001714658685现在有个......
  • 使用Npoi简单生成Excel并赋值导出小案例
    publicasyncTask<byte[]>ExportNewReportByQuotationId(GuidquotationId){IWorkbookwookbook=newXSSFWorkbook();//EngineerQuoteSheetawaitDoEngineerQuoteWork(wookbook,quotationId);//ILSheetawa......
  • Python 生成随机字符串
    0x00吐槽最近让项目坑的没办法,老写一些脚本来协助工作,刚好在测试python生成word的时候遇到需要随机字符串来命名文档名,简单写点东西记录一下0x01一班的童靴其实随机字符串这个东西在任何语言里都经常会用到,而且解决方法也简单首先定义一个字符串,随机字符串就从这里面取,然......