【专题】最小生成树(prim算法、kruscal算法)

目录

  • 一、最小生成树
  • 二、Prim算法
    • 1. 算法思想
    • 2. 例题
    • 3. 性能分析
  • 三、Kruscal算法
    • 1. 算法思想
    • 2. 例题
    • 3. 性能分析

一、最小生成树

生成树中边的权值(代价)之和最小的树。
在这里插入图片描述

二、Prim算法

1. 算法思想

  • 设N=(V,{E})是连通网,TE是N上最小生成树中边的集合;
  • Step1:令U={u},u∈V,TE={};
  • Step2:在u∈U,v∈V-U的边(u,v)∈E中找一条代价最小的边(u,v)并入TE,v并入U;
  • Step3:重复Step2,直至U=V,T={U,{TE}}是N的最小生成树;
    在这里插入图片描述

2. 例题

在这里插入图片描述
在这里插入图片描述

3. 性能分析

  • 时间复杂度:O( n 2 n^2 n2) , 与网中的边数无关;
  • 适用于求边稠密的网的最小生成树;

三、Kruscal算法

1. 算法思想

  • 最小生成树上边权值之和最小,应使树上每一条边的权值尽量小;
  • Step1:令最小生成树T的初态为只有n个顶点的非连通图T=(V,{});
  • Step2:从权值最小的边(u,v)开始,若该边依附的顶点落在TE的不同连通分量上,E=TE∪(u,v),否则选择下一条代价最小的边;
  • Step3:重复Step2,直至T所有顶点在同一连通分量上;

2. 例题

在这里插入图片描述

3. 性能分析

  • 时间复杂度:O( e*log2e );
  • 适合于求边稀疏的网的最小生成树;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

目前最火的大模型训练框架 DeepSpeed 详解来了

目前,大模型的发展已经非常火热,关于大模型的训练、微调也是各个公司重点关注方向,但是大模型训练的痛点是模型参数过大,动辄上百亿,如果单靠单个GPU来完成训练基本不可能。所以需要多卡或者分布式训练来完成这项工作。…

虚拟机启动 I/O error in “xfs_read_agi+0x95“

1.在选择系统界面按e 进入维护模式 2.找到ro把ro改成 rw init/sysroot/bin/sh 然后按Ctrlx 3.找到坏掉的分区,以nvme0n1p3为例进行修复 xfs_repair -d /dev/nvme0n1p3 4.init 6 重新启动 以下情况 先umount 再修复 则修复成功

《使用ThinkPHP6开发项目》 - 登录接口一

《使用ThinkPHP6开发项目》 - 安装ThinkPHP框架-CSDN博客 《使用ThinkPHP6开发项目》 - 设置项目环境变量-CSDN博客 《使用ThinkPHP6开发项目》 - 项目使用多应用开发-CSDN博客 《使用ThinkPHP6开发项目》 - 创建应用-CSDN博客 《使用ThinkPHP6开发项目》 - 创建控制器-CSD…

Rabbitmq消息重复消费问题(幂等性保障)

消息百分百投递架构 在《消息可靠性保证》篇章中,我通过生产者确认机制保障了消息会发送到MQ中,但是在生产者与MQ建立过程的时候出现了网络抖动,连接建立失败,生产者就感知不到MQ返回的ack/nack,无法完全保障消息投递…

配电室环境智能监测系统

配电室环境智能监测系统是一种先进的在线监测系统,依托电易云-智慧电力物联网,用于实时监测配电室内部的环境参数,包括温度、湿度、SF6气体浓度、烟雾浓度等。该系统具有以下功能特点: 实时监测:系统能够实时监测配电室…

windows wsl2 ubuntu上部署 redroid云手机

Redroid WSL2部署文档 下载wsl内核源码 #文档注明 5.15和5.10 版本内核可以部署成功,这里我当前最新的发布版本 #下载wsl 源码 wget --progressbar:force --output-documentlinux-msft-wsl-5.15.133.1.tar.gz https://codeload.github.com/microsoft/WSL2-Linux-Ker…

nginx 1.24.0 安装nginx最新稳定版

1.官网: nginx: download 2. 选择稳定版: 3. 可以下载,然后上传服务器,也可以wget获取: cd /home wget https://nginx.p2hp.com/download/nginx-1.24.0.tar.gz 4. 放入/home 下。并解压缩,重命名nginx;…

基于ssm电影网站源码和论文

随着Internet的发展,人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化,网络化和电子化。它将是直接管理电影网站的最新形式。本论文是以构建电影网站为目标,使用 java技术制作,由管理员和用户两大部分组成。…

R语言|分面中嵌入趋势线

简介 关于分面的推文,小编根据实际科研需求,已经分享了很多技巧。例如: 分面中添加不同表格 分面中添加不同的直线 基于分面的面积图绘制 分面中的细节调整汇总 基于分面的折线图绘制 最近科研中又遇到了与分面相关的需求:…

【WINCC制作水管水流动画】

WINCC简单制作水管水流动画 详情如下图所示: 1.首先用布化好管道,同时在管道内部画好折线图用以表示水流路径 2.选中折线图调整全局颜色方案 3.选择线条颜色 4.调整线条的线宽和线型 5.效果…

Enterprise Portal Standard Edition [WS_ENT_STD]

拾取坐标系统 i18n internationalization-CSDN博客 另外一种网站 Content Management System(CMS)-CSDN博客

【Unity 实用工具篇】| 游戏多语言解决方案,官方插件Localization 实现本地化及多种语言切换

前言 【Unity 实用工具篇】| 游戏多语言解决方案,官方插件Localization 实现本地化及多种语言切换一、多语言本地化插件 Localization1.1 介绍1.2 效果展示1.3 使用说明 二、 插件导入并配置2.1 安装 Localization2.2 全局配置 三、多语言映射表3.1 创建多语言文本配…

Git 使用教程(超级详细)

目录 一:Git二:SVN与Git的的区别三、安装Git四:常规操作五:远程仓库六:创建与合并分支七:bug分支八:多人协作九:git可视化工具 Git Git 是一种分布式版本控制系统,用于…

Knife4j-的使用(详细教程)

参考文档:Knife4j-的使用(详细教程)_knife4j使用-CSDN博客 前言 之前有写过 swagger 怎么使用的教程,但是现在很多项目用的接口文档其实是 Knife4j,Knife4j 它是对 swagger 在线接口文档的一个增强,按照官网的话说就是给 swagger 做了一个更…

数据结构之----数组、链表、列表

数据结构之----数组、链表、列表 什么是数组? 数组是一种线性数据结构,它将相同类型的元素存储在连续的内存空间中。 我们将元素在数组中的位置称为该元素的索引。 数组常用操作 1. 初始化数组 我们可以根据需求选用数组的两种初始化方式&#xff…

Redis分布式锁存在哪些问题,该如何解决?

假设有这样一个场景,在一个购票软件上买一张票,但是此时剩余票数只有一张或几张,这个时候有几十个人都在同时使用这个软件购票。在不考虑任何影响下,正常的逻辑是首先判断当前是否还有剩余的票,如果有,那么…

《Global illumination with radiance regression functions》

总结一下最近看的这篇结合神经网络的全局光照论文。 论文的主要思想是利用了神经网络的非线性特性去拟合全局光照中的间接光照部分,采用了基础的2层MLP去训练,最终能实现一些点光源、glossy材质的光照渲染。为了更好的理解、其输入输出表示如下。 首先…

如何解决Session共享问题?

解决会话(Session)共享问题,特别是在分布式或负载均衡环境中,通常涉及一些关键策略。 以下是一些常用的方法来解决会话共享问题: 粘性会话(Sticky Sessions): 描述:粘性会…

好用的硬盘分区工具,傲梅分区助手 V10.2

傲梅分区助手软件可以帮助用户在硬盘上创建、调整、合并、删除分区,以及管理磁盘空间等操作。它可以帮助你进行硬盘无损分区操作。 支持系统 目前这款软件支持 Windows 7、Windows 8、Windows 10、Windows 11 等个人系统,还支持 Windows 2012/2016/2019…

PixPin带有截图/贴图/长截图/文字识别/标注的截图工具,很好用

官网地址:PixPin 截图/贴图/长截图/文字识别/标注 | PixPin 截图/贴图/长截图/文字识别/标注 确实挺好用的,推荐一下