Kruskal最小生成树算法正确性证明
Kruskal: 每次考虑最短一条边, 如果会形成回路则不选择该边, 如果不会形成回路则选择该边, 直到选出了n-1条边
要点: 每次都选择不会形成回路的最短边
数学归纳法
① n<=2时, 显然成立
② 设n = k时成立, 则当n = k+1时:
将图划分为 子图A(k) 和 B(1)
∵ n = k时成立
∴ A(k)可以构造最小生成树, 设为T
对于子图B(1), 它与树T有若干条边
注意到:
∵ T是不含回路的, B(1)-T只选择一条边
∴ 选择 B(1)-T 的其中任意一条边都不会形成回路
如果选择B(1)-T中最短的一条边
∵ T是最小的, B(1)-T也是最小的
∴ 选出的树在全局上是最小的(且不含回路)
所以 n=k+1 时成立
这种划分更适用于Prim算法的证明
③ 从另一种角度划分, 设n=a时 和 n=b 时成立, 则当n=a+b时:
将图划分为 子图A(a) 和 B(b)
∵ n=a时成立
∴ A(a)可以构造最小生成树, 设为TA
同理, B(b) 可以构造最小生成树, 设为TB
TA与TB有若干条边
注意到:
∵ TA是不含回路的, TB也是不含回路的, TA-TB只选择一条边
∴ TA-TB 的其中任意一条边被选择都不会形成回路
如果选择TA-TB中最短的一条边
∵ TA是最小的, TB也是最小的, TA-TB也是最小的
∴ 选出的树在全局上是最小的(且不含回路)
所以 n=a+b 时成立
这种划分与Kruskal算法较为贴切: 每次选择不会形成回路的最短边, 就是在考虑局部的两个子树的合并, 局部最优递推出全局最优
相关文章:
Kruskal最小生成树算法正确性证明
Kruskal: 每次考虑最短一条边, 如果会形成回路则不选择该边, 如果不会形成回路则选择该边, 直到选出了n-1条边 要点: 每次都选择不会形成回路的最短边 数学归纳法 ① n<2时, 显然成立 ② 设n k时成立, 则当n k1时: 将图划分为 子图A(k) 和 B(1) ∵ n k时成立 ∴ A(k)可…...
操作系统(12)内存分配
前言 操作系统内存分配是操作系统内存管理的重要组成部分,涉及将物理内存分配给各个程序以使用的过程。 一、内存分配的基本概念 内存分配指的是操作系统将物理内存分配给程序以使用。操作系统通过内存分配,确保每个程序都能获得足够的内存资源来执行其任…...
oracle client linux服务器安装教程
p13390677_112040_Linux-x86-64_4of7.zip 安装前,确认/etc/hosts文件已配置正确 cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.2…...
生信技能65 - SRA数据库公共数据自动化下载及SRA批量自动化拆分
根据NCBI Metadata数据表,实现SRA数据库公共数据自动化下载及SRA批量自动化拆分。 1. 程序逻辑 根据SraRunTable.csv自动从公共数据库下载SRA文件 ;模式0(默认)为下载模式,模式1为拆分模式,拆分支持进度显示;提取Metadata关键信息数据,重新写入新的文本文件。2. 运行示…...
ubuntu+ros新手笔记(五):初探anaconda+cuda+pytorch
深度学习三件套:初探anacondacudapytorch 系统ubuntu22.04 ros2 humble 1.初探anaconda 1.1 安装 安装过程参照【详细】Ubuntu 下安装 Anaconda 1.2 创建和删除环境 创建新环境 conda create -n your_env_name pythonx.x比如我创建了一个名为“py312“的环境…...
下载红米Note 9 Pro5G对应的LineageOS代码下载及编译
构建 LineageOS 进入网站:Info about gauguin | LineageOS Wiki,点击:Build for yourself,里面有详细的教程,我这里就按照Note 9 Pro 5G来。 机器环境 Ubuntu环境为:20.04.6LinagesOS版本:21-…...
数据链路层(Java)(MAC与IP的区别)
以太网协议: "以太⽹" 不是⼀种具体的⽹络, ⽽是⼀种技术标准; 既包含了数据链路层的内容, 也包含了⼀些物理 层的内容. 例如: 规定了⽹络拓扑结构, 访问控制⽅式, 传输速率等; 例如以太⽹中的⽹线必须使⽤双绞线; 传输速率有10M, 100M, 1000M等; 以太…...
Unity中Mesh重叠顶点合并参考及其应用
在Unity中,如果将一个模型文件(比如从max里面导出一个fbx文件)导入到编辑器中之后,Unity会把所有在原来在面列表中公用的顶点复制一份,保证每个三角形使用的顶点都是单独的,不与其它三角形共用顶点…...
Day3——墨刀原型设计
墨刀介绍 墨刀(Mockplus)是一款流行的在线原型设计和协作工具,适用于网页和移动应用的设计。以下是墨刀的一些主要特点和功能: 主要特点: 快速原型设计:墨刀提供了一系列的设计工具和组件,可…...
【JAVA】Java项目实战—移动端项目:天气查询APP
在移动互联网时代,天气查询应用程序(APP)是日常生活中不可或缺的一部分。无论是出门旅行、上班通勤,还是安排户外活动,获取实时天气信息都至关重要。Java作为一种强大且广泛使用的编程语言,特别适合用于开发…...
P1208 [USACO1.3] 混合牛奶 Mixing Milk(py)
题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助 Marry 乳业找到最优的牛奶采购方案。 Marry 乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格可能相同。此外,…...
day13 python(1)——python基础
【没有所谓的运气🍬,只有绝对的努力✊】 1、python简介 1.1 为什么学习python 1.2 python发展历史 python2.x和python3.x 版本里面有些是不兼容的。(我自己本地版本 3.11) 2、语言的分类 (1)编译型 …...
Tomcat原理(5)——tomcat最终实现
目录 一、什么是Servlet容器 二、ServletConfigMapping构建实现容器 ServletConfigMapping MyTomcat 三、优化server Server MyTomcat 四、匹配 代码如下: 测试如下: 上一篇博客已经为介绍了servelet的实现 ,这篇对上一篇博客进行补…...
善战者与细
《孙子兵法》说:善战者无赫赫战功。 《道德经》说:天下大事必做于细。 这两句话,可以结合来思考。如果,我们把事业,拆解为多个小项目,小项目拆解为小行动,也就是天下大事作于细。这种情况下&am…...
sqli-labs靶场第26-30关
第26关 这关将逻辑运算符,注释符以及空格给过滤了 我们先使用单引号进行闭合 这时我们查看源代码可以看到这一关过滤了很多字符 可以看到这里将or and / -- # 空格等字符都被注释了 空格被过滤了我们可以使用()来代替,and和or可以使用双写来绕过 因为…...
ffmpeg和ffplay命令行实战手册
文章目录 视频拼接用concat视频分段拼接(ffplay 不可调用seek函数进行seek)给视频添加黑边,让视频填充并居中显示不同分辨率视频分段拼接,并且,设置单个视频的缩放比例和摆放位置视频画中画复杂嵌套用overlay(ffplay 可调用seek函数进行seek)…...
240004】基于maven的java+ssm+mysql的房屋租赁系统的设计与实现
基于ssmmavenmysql的房屋租赁系统的设计与实现 1.项目描述2.运行环境3.项目截图4.源码获取 1.项目描述 该项目在原有的基础上进行了优化,包括新增了注册功能,房屋模糊查询功能,管理员和用户信息管理等功能,以及对网站界面进行了优…...
2.metagpt中的软件公司智能体 (ProductManager 角色)
1. 代码 ProductManager 类 from metagpt.actions import UserRequirement, WritePRD from metagpt.actions.prepare_documents import PrepareDocuments from metagpt.roles.role import Role, RoleReactMode from metagpt.utils.common import any_to_nameclass ProductMan…...
MOS管振铃现象
1,什么是振铃 用MOS管作为电子开关电路如下 单片机输出的PWM波形应该是规整的方波信号。但实际上确出现了下图的不稳定波形。这种上升沿和下降沿出现的不同程度的一小段震荡就叫做MOS管的振铃。如果振铃的峰值超过G端耐压,GS之间就会被击穿,…...
docker简单命令
docker images 查看镜像文件 docker ps -a 查看容器文件 docker rm 0b2 删除容器文件,id取前三位即可 docker rmi e64 删除镜像文件(先删容器才能删镜像),id取前三位即可 在包含Dockerfile文件的目录…...
XML基础学习
参考文章链接: XML基础学习 在w3school看到了XML的教程,想到以前工作学习中也接触到了XML,但只是简单搜索了解了下,没有认真去学习XML的基础,所以现在认真看下其基础部分,并写篇博客作为笔记记录下。 XML 简介 XML 被设计用来传输和存储数据。 什么是 XML? XML 指可…...
ARMS 用户体验监控正式发布原生鸿蒙应用 SDK
作者:杨兰馨(楠瑆) 背景 2024 年 10 月 22 日,华为正式发布了原生鸿蒙操作系统(HarmonyOS NEXT)。原生鸿蒙实现了系统底座全部自研,系统的流畅度、性能、安全特性等方面显著提升,也…...
如何使用微调后的Lora适配器?
Lora(Low-Rank Adaptation) 是一种高效的模型微调方法,尤其在自然语言处理和生成任务中得到了广泛应用。与传统的微调方法相比,Lora方法通过低秩适配器的方式,使得模型微调更为高效,且资源消耗更少。本文将…...
HAL 库:创建hal首要配置内容
第一步配置SYS(system系统) Debug(调试): Serial Wire 串行线(要用stick) Timebase Source:时基源 第二步配置RCC(reset and clodk controler)复位和时钟控…...
YOLOv9-0.1部分代码阅读笔记-experimental.py
experimental.py models\experimental.py 目录 experimental.py 1.所需的库和模块 2.class Sum(nn.Module): 3.class MixConv2d(nn.Module): 4.class Ensemble(nn.ModuleList): 5.def attempt_load(weights, deviceNone, inplaceTrue, fuseTrue): 1.所需的库和模块…...
如何高效获取Twitter数据:Apify平台上的推特数据采集解决方案
引言 在数据分析和市场研究领域,Twitter(现在的X)数据一直是重要的信息来源。但是,自从Twitter更改API定价策略后,获取数据的成本大幅提升。本文将介绍一个经济实惠的替代方案。 为什么需要Twitter数据? …...
【蓝凌表单】JSP组件常用语法整理
JSP组件常用语法整理 必填非必填写法//必填 $("[name=extendDataFormInfo.value(fd_344677482769e2)]").attr("validate","requiredvalue"); //非必填 $(...
设定“例外规则”:不完美也是完美
完美主义是一种追求极致的心态,它驱使我们不断追求更高的标准和更好的结果。然而,生活并不总是按照我们的计划进行,有时候我们需要灵活应对,设定一些“例外规则”来适应那些不完美的时刻。以下是一些实际的例子,展示如…...
01《Python数据分析》数据分析初探章节总结
目录 1 概述1.1 数据分析定义1.2 数据分析目标1.3 数据分析分类 2 数据分析方法3 数据分析流程4 寻找问题原因5 典型问题参考学习 1 概述 1.1 数据分析定义 数据分析1就是:用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论&…...
java web 实验五 Servlet控制层设计(设计性)
实验五 Servlet控制层设计(设计性) //代码放在资源包里了 实验目的 熟悉Servlet的基本语法。掌握采用HTML、JS、JDBC、JSP、Servlet和四层结构的综合应用。实验要求 本实验要求每个同学单独完成;调试程序要记录调试过程中出现的问题及解决…...
Timestamp Unix时间戳在线转换 - 加菲工具
Timestamp Unix时间戳在线转换 打开网站 加菲工具 选择“时间戳转换” 或者直接打开: https://www.orcc.online/tools/timestamp 在前半部分输入框输入时间/时间戳,点击“转换>>”按钮,即可转换完成 得到转换结果...
ABAP 订单多次开票,显示多张开票凭证
一、业务背景 在实际业务上,同一笔销售订单可能分多次发货,多次开票,因此再销售订单状态报表上就要体现该过程:对于同一张销售订单,分多次开票时,按照发票和订单行项目,显示开票数量与为开票数…...
源码安装编译gcc-12
下载gcc12 https://link.zhihu.com/?targethttps%3A//github.com/gcc-mirror/gcc/archive/refs/tags/releases/gcc-12.2.0.tar.gz 解压并执行相关依赖下载 ./contrib/download_prerequisites make && make install 默认装在/usr/local下, 如果要自己指定…...
VGGNet:深度学习中的卷积神经网络经典之作
目录 编辑 引言 VGGNet的历史背景 VGGNet的特点 1. 深度网络结构 2. 小卷积核的使用 3. 多尺度训练 4. 参数量的优化 5. 去除局部响应归一化 6. 优秀的特征提取能力 VGGNet的应用案例 VGGNet的代码复现 代码解析 结论 引言 在深度学习的浪潮中,卷积…...
opencv所有常见函数
一、opencv图像操作 二、opencv图像的数值运算 三、opencv图像的放射变换 四、opencv空间域图像滤波 五、图像灰度化与直方图 六、形态学图像处理 七、阈值处理与边缘检测 八、轮廓和模式匹配...
Shell语言基础语法(3)
目录 简介 一、流程控制 1、if 语句 2、case 选择 3、while 循环 4、for 循环 5、扩展使用select 二、函数 1、函数的定义 2、函数的调用 3、函数的传参 4、函数的返回值 5、局部变量 6、全局变量 总结 简介 Shell 脚本是一种强大的工具,广泛用于 Lin…...
Linux CentOS 9搭建Hadoop3集群
1. 引言 本教程旨在介绍在Linux上安装Hadoop 2. 前提条件 2.1 安装JDK 安装Hadoop,必须首先安装JDK,并配置环境变量(此处不做详细描述) Jdk官网(https://www.oracle.com/java/technologies/javase/javase8u211-later-archive…...
加速科技精彩亮相ICCAD 2024
12月11日—12日 ,中国集成电路设计业的年度盛会——ICCAD 2024在上海世博馆隆重举行。本次活动以“智慧上海,芯动世界”为主旨,汇聚了众多业界精英,共同探讨集成电路产业的未来。作为半导体测试行业领军企业,加速科技携…...
canvas(填充描边,绘制矩形、路径、文本、图像,变换,阴影,渐变等)
一、 基本的画布功能 创建 <canvas> 元素时至少要设置其 width 和 height 属性,这样才能告诉浏览器在多大面积上绘 图。出现在开始和结束标签之间的内容是后备数据,会在浏览器不支持 <canvas> 元素时显示。比如: <canv…...
STM8单片机学习笔记·GPIO的片上外设寄存器
目录 前言 IC基本定义 三极管基础知识 单片机引脚电路作用 STM8GPIO工作模式 GPIO外设寄存器 寄存器含义用法 CR1:Control Register 1 CR2:Control Register 2 ODR:Output Data Register IDR:Input Data Register 赋值…...
2-2-18-16 QNX系统架构之自适应分区
阅读前言 本文以QNX系统官方的文档英文原版资料为参考,翻译和逐句校对后,对QNX操作系统的相关概念进行了深度整理,旨在帮助想要了解QNX的读者及开发者可以快速阅读,而不必查看晦涩难懂的英文原文,这些文章将会作为一个…...
【Python网络爬虫笔记】11- Xpath精准定位元素
目录 一、Xpath 在 Python 网络爬虫中的作用(一)精准定位元素(二)应对动态网页(三)数据结构化提取 二、Xpath 的常用方法(一)节点选取(二)谓词筛选࿰…...
Rustdesk 安装客户端以及自己搭建服务器跑通参考资料
Rustdesk 安装客户端以及自己搭建服务器跑通参考资料 下载客户端: rustdesk客户端-github下载地址 windows正常安装就行了,ubuntu安装参考下面: ubuntu安装rustdesk客户端 在centos中利用docker安装rustdesk-server,先进行cento…...
源码编译jdk7 超详细教程 openjdk7
关于源代码 当前的openJDK的源代码已经被发布到了github上了,所以我们可以直接从github上下载到。 OpenJDK7u源码托管地址:https://github.com/openjdk/jdk7u 带后缀U的地址,或者发行的jdk包,表示当前版本下的持续跟新版。而他…...
如何实现日期选择窗口
文章目录 1 概念介绍2 使用方法3 示例代码我们在上一章回中介绍了TimePicker Widget相关的内容,本章回中将介绍DatePickerDialog Widget.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里说的DatePickerDialog是一种弹出窗口,只不过窗口的内容固定显示为日期,它…...
Spring Security 6 系列之一 - 开篇入门
之所以想写这一系列,是因为之前工作过程中使用Spring Security,但当时基于spring-boot 2.3.x,其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0,结果一看Spring Security也升级为6.3.0,关键是其风…...
Spring Cloud概述
1. 认识微服务 1.1 单体架构 很多创业公司早期或者传统企业会把业务的所有功能实现都打包在⼀个项⽬, 这就是单体架构. 业务的所有功能实现都打包在⼀个war包或者Jar包中, 这种⽅式就称为单体架构. 举个例子: 电商系统包括: ⽤⼾管理, 商品管理, 订单管理, ⽀付管理, 库存…...
mvc如何给action传递参数
步骤(常规方法) 新建一个控制器--LarsController.cs using Microsoft.AspNetCore.Mvc; namespace Blog.Controller; public class LarsController:Controller -----继承 {public IActionResult Index(){return View();} }获取id // program.cs中默认值是idpublic IAction…...
【银河麒麟高级服务器操作系统】有关dd及cp测试差异的现象分析详解
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn dd现象 使用银河麒麟高级服务器操作系统执行两次…...
视频智能分析平台LiteAIServer未戴安全帽检测算法助力矿山安全:精准监督矿工佩戴安全帽情况
矿山作业环境复杂多变,安全隐患层出不穷。其中,矿工未佩戴安全帽这一行为,看似微不足道,实则潜藏着巨大的安全风险。一旦发生事故,未佩戴安全帽的矿工将极易受到重创,甚至危及生命。因此,确保每…...