图 Graph

news2024/11/15 12:36:18

关键词:图、邻接矩阵、邻接表、广度优先搜索、最短路径、深度优先搜索、拓扑排序、最小生成树、单源最短路径、Dijkstra算法、

图的表示

图的两种表示方法:邻接矩阵表示和邻接表表示。

图的广度优先搜索

可处理无向图或有向图

从起始顶点s出发的广度优先搜索(遍历所有顶点,只需要对每个顶点调用一次该函数):将顶点分成3类:

1 未遍历到的白色;

2 第一次被遍历到的灰色;

3 从一个灰色顶点v的外围找白色顶点,找到的都设置为灰色,此时这个v遍历完成,遍历完成设置成黑色;

4 起始点s加入队列Q,灰色顶点都要加入Q,只要Q不空就继续;

广度优先遍历结果

1 广度优先搜索遍历到过程会生成一颗根节点为s的树。

2 树上的每个顶点都有一个距离,表示这个顶点离起始顶点的边的个数。

3 广度优先搜索的结果就是单源最短路径(即,路径长度为经过的边的个数,边的权均为1)。

图的深度优先搜索

深度优先搜索是一个递归函数,总是优先对第一次遍历到底灰色顶点接着去遍历灰色顶点的邻接白色顶点。

可处理无向图或有向图

深度优先搜索的结果

1 深度优先搜索的结果按照父子节点得到拓扑排序(无回路图)

最小生成树

贪心算法

有n个元器件,用n-1个导线将他们连起来(无向图)。

Prim算法,从一个顶点开始加入已经遍历的集合,每次从连接已经遍历集合和未遍历集合的边里面选长度最短的那条边加入即可。

单源最短路径

有向无环图,边上的权非负

Dijkstra算法(贪心算法)

每次选一个距离最近的顶点进来,用这个最近的顶点的边,更新外围可达顶点到源点的距离。

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

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

相关文章

群晖NAS:DS Video、Jellyfin等视频电影电视剧海报、背景墙搜刮器

群晖NAS:DS Video、Jellyfin等视频电影电视剧海报、背景墙搜刮器 本文只使用豆瓣插件方式,系统默认的 The Movie Database 好注册,但是授权码输入后域名不通过,很麻烦。 1、插件地址: https://www.aliyundrive.com/s…

visual studio编写DLL,python调用

选择第一个c DLL&#xff0c; 然后项目源文件下右击新建项&#xff0c;这里名字随便取&#xff0c;在代码中输入一下内容&#xff1a; #include <iostream>#define EXPORT extern "C" __declspec(dllexport)EXPORT int sub(int a, int b) {return a - b; } 在…

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题 文章目录 虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题前言全局坐标系转体坐标系速度设置X轴方向的体坐标系速度设置Y轴方向的体坐标系速度XY轴体坐标系速度整合 Z轴速度的进一步设置解决办法 小结 前言 利…

图扑软件 | 参展用友 2023 全球商业创新大会

2023 年 8 月 18 日&#xff0c;以“数据驱动&#xff0c;智能运营”为主题的用友 2023 全球商业创新大会&#xff0c;在上海国家会展中心圆满举行。此次大会旨在汇聚全球商业智慧&#xff0c;用数智化创新客户价值、释放企业潜能&#xff0c;助力更多的企业成为数智企业。 图…

运动耳机需要具备哪些功能、挂耳式运动蓝牙耳机推荐

作为运动爱好者&#xff0c;长时间的运动很容易枯燥&#xff0c;所以我会选择佩戴耳机来缓解运动的枯燥感&#xff0c;一款好的运动耳机可以让运动变得更加激情&#xff0c;还可以更好的享受运动的乐趣。 但现在的运动耳机产品实在是五花八门&#xff0c;到底什么样的运动蓝牙耳…

ssm+vue框架的购物网站源码和论文

ssmvue框架的购物网站源码和论文113 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归…

Node 执行命令时传参 process.argv

process 对象是一个全局变量&#xff0c;提供当前 Node.js 进程的有关信息&#xff0c;以及控制当前 Node.js 进程。 因为是全局变量&#xff0c;所以无需使用 require()。 process.argv 属性返回一个数组&#xff0c;这个数组包含了启动Node.js进程时的命令行参数&#xff0c…

仅当指定列列表,且SET IDENTITY_INSERT为ON时,才能对自增列赋值

达梦数据库&#xff0c;对自增主键赋值插入&#xff0c;报错仅当指定列列表&#xff0c;且SET IDENTITY_INSERT为ON时&#xff0c;才能对自增列赋值&#xff1b; INSERT INTO cloud.account (id, uuid, account_name, type, role_id, domain_id, account."default")…

python实现个税计算器

本文主要内容&#xff1a;实现个税计算器 这里要用到两个计算公式&#xff1a; 1.应纳税所得额 工资金额 &#xff0d; 各项社会保险费 - 起征点(3500元) 2.应纳税额 应纳税所得额 税率 &#xff0d; 速算扣除数 税率按照以下表格计算&#xff1a; 代码如下&#xff1a;…

恒流电路的三种设计方案

作为硬件研发工程师相信对恒流电路不会陌生&#xff0c;本文介绍下三种恒流电路的原理图。 三极管恒流电路 三极管恒流电路 三极管的恒流电路&#xff0c;主要是利用Q2三极管的基级导通电压为0.6~0.7V这个特性&#xff1b;当Q2三极管导通&#xff0c;Q1三极管基级电压被拉低而…

链表OJ练习(1)

一、移除链表元素 本题为力扣原题203 题目介绍&#xff1a; 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 列表中的节点数目范围在 0~10000内 1<Node.val<50 0<val<50 …

【Java Web】敏感词过滤

一、前缀树 假设有敏感词&#xff1a;b&#xff0c;abc&#xff0c;abd&#xff0c;bcd&#xff0c;abcd&#xff0c;efg&#xff0c;hii 那么前缀树可以构造为&#xff1a; 二、敏感词过滤器 package com.nowcoder.community.util;import org.apache.commons.lang3.CharUt…

kvm 虚拟机添加网卡方法

找到kvm虚拟机的配置文件 虚拟机名称.xml kvm虚拟机配置文件默认路径&#xff1a;/etc/libvirt/qemu/ 先停kvm虚拟机 virsh shutdown 虚拟机名称 修改kvm虚拟机配置文件 virsh edit 虚拟机名称 在kvm虚拟机里面配置新增接口如下内容&#xff1a; <interface typebridg…

【MetaAI】2023年MetaAI发布的开源模型和工具

MetaAI开源模型和工具 MetaAILlamaSegment AnythingDINOv2ImageBindMMSLimaVoiceboxMusicGenLlama 2AudioCraftSeamlessM4T MetaAI Meta 首席执行官扎克伯格表示&#xff0c;与其他研究者分享 Meta 公司开发的模型可以帮助该公司促进创新、发现安全漏洞和降低成本。他今年 4 月…

Python中处理Excel文件的常见问题与技巧

在数据分析和办公自动化领域&#xff0c;Excel是一种广泛使用的工具。本文将介绍如何利用Python来处理Excel文件时可能遇到的常见问题&#xff0c;并分享一些实用技巧。 1. 安装必要库 - 使用pip或conda安装openpyxl、pandas等第三方库&#xff1b; – 确保所选版本兼容性以及…

基于Django 框架搭建的机器学习在线平台源代码+数据库,实现KNN、ID3、C4.5、SVM、朴素贝叶斯、BP神经网络等算法及流程管理

结果展示&#xff08;Kmeans&#xff09;&#xff1a; 完整代码下载地址&#xff1a;基于Django 框架搭建的机器学习在线平台源代码数据库 python机器学习之 K-邻近算法 简单的理解&#xff1a;[ 采用测量不同特征值之间的距离方法进行分类 ] 优点 &#xff1a;精度高、对异常…

ABAP FICO 凭证替代 凭证校验

凭证校验 1.T-CODE--->GGX2--->GBLR-->ZRGGBR000 2.将程序RGGBR000 复制为ZRGGBR000 3.GGB0--》财务会计--》凭证抬头或者行项目维护检验规则 4.OB28 维护特定的公司代码和调用点和确认&#xff0c;活动等级设置为1 5.GGB4-->激活校验 凭证替代 1.T-CODE--->GG…

解决vue项目首行报红( ESLint 配置)和新建的vue文件首行报红问题

目录 前情提要&#xff1a; 修改ESLint 配置 新建的vue文件首行还是报红 报红原因&#xff1a; 解决方法&#xff1a; 前情提要&#xff1a; 在网上查到的方法可能是在package.json文件或者.eslintrc.js文件中添加 requireConfigFile: false 如果此方法对你的错误不起作用…

Linux入门之进程信号|信号产生的方式

文章目录 一、信号入门 1.linux信号的基本概念 2.使用kill -l 命令可以查看系统定义的信号列表 3.信号处理常见方式 二、产生信号 1.通过终端按键产生信号 2.通过调用系统函数向进程发信号 3.由软条件产生信号 4.硬件异常产生信号 1. /0异常 2.模拟野指针 一、信号入门…

君子签「智能文档对比」解决合同文档内容比对问题,提高工作效率

人工校对合同&#xff0c;只能逐字逐句地查看合同条款&#xff1f;文档内容相似度过高&#xff0c;只能靠肉眼比对&#xff1f;文档细微修改难察觉&#xff0c;为后续合同履约埋下纠纷隐患&#xff1f; 「智能文档对比」是君子签基于AI人工智能技术&#xff0c;针对文档内容的…