算法笔记(七)—— 图的相关知识及算法
图的存储方式
1. 邻接表(记录关于某点的直接相邻点)
2. 邻接矩阵(一定是正方形的矩阵,对点进行编号,点到点的权值由距震中的值表示,无直接相连记为正无穷)
图的模板
unordered_map<int,Node>
unordered_set<Edge>
Node类:值、入度、出度、点发散出去的边连接的邻居、属于该点的边
Edge类:权值(距离)、起始点(from)、终止点(to)
图的宽度优先遍历
使用unordered_set来进行去重,放置重复点进队列
图的深度优先遍历
拓扑排序
有向无环图,先处理入度为0的点,然后将该点及其影响擦掉,继续寻找入度为0的点,周而复始。
无向图生成最小生成树(K算法 P算法)
保证连通性且整体边权值最小
K算法(从边的角度出发)
1. 对所有边排序,从最小开始考虑
2. 如果加上该边没有形成环则加上,若形成环则考虑下一条边
怎么考虑会不会形成环:假设所有点一开始自己是个集合(都不连通),判断是否有环,看一条边的from和to在不在一个集合,若不在将两个点所在集合合并。
P算法
1. 所有边都被锁定
2. 从某点出发,将该点直接相连的所有边解锁,选权值最小的边(且左右两侧不在一个模型内),将邻点加入,周而复始。
Dijkstra算法(要求没有累加权值为负数的环)
规定出发点 ,该点到所有点的最短距离
1. 初始化,到自己0,到别的点正无穷
2. 从当前最小值对应的点出发,看其所有的边,发现了更短的距离则改写
3. 周而复始即可,直到所有点都作为出发点被遍历到
算法笔记(七)—— 图的相关知识及算法相关推荐
- 算法基础:图的相关算法知识笔记
一.图的相关算法 1.图的分类知识 如下图: 2.生成树概念 对连通图进行遍历,过程中所经过的边和顶点的组合可看做是一棵普通树,通常称为生成树. 连通图的生成树具有这样的特征:边的数量 = 顶点数 - ...
- 论文|基于三部图网络结构的知识推荐算法
转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thi ...
- 强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C(下)
强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C 本篇实现一个基于A2C框架的PPO算法,应用于连续动作空间任务. import torch import torch.nn a ...
- Java学习笔记 0、计算机相关知识了解
文章目录 前言 一.计算机基本知识 1.认识CPU 2.认识内存 二.三大定律 三.IT两大鼻祖 四.万维网 五.windows下的常用命令 六.各类语言及应用 七.各种进制数 四个进制介绍 原码.反 ...
- 网络知识:七类网线相关知识介绍
今天给大家介绍一下七类网线相关的知识,希望对大家能有所帮助! 一.什么是七类网线? 我们平时用的最多就是超5类线了,对网络要求高的单位布线会使用六类网线. 但是对于七类网线可能接触的不多,它主要为了适 ...
- Next.js踩坑入门系列(七) —— 其他相关知识
Next.js踩坑入门系列 (一) Hello Next.js (二) 添加Antd && CSS (三) 目录重构&&再谈路由 (四) Next.js中期填坑 (五) ...
- 机器学习之EM算法的原理推导及相关知识总结
文章目录 1.知道先验概率和后验概率 2.了解高斯混合模型GMM 3.通过最大似然估计推导EM算法的过程的实例 4.EM算法 5.知道pLSA模型 1.知道先验概率和后验概率 先验概率(prior p ...
- 【算法笔记】二分图最大权匹配 - KM算法(dfs版O(n4) + bfs版O(n3))
整理的算法模板合集: ACM模板 匈牙利算法又称为 KM 算法,可以在 O(n3)O(n^3)O(n3) 时间内求出二分图的 最大权完美匹配 . 考虑到二分图中两个集合中的点并不总是相同,为了能应用 ...
- 系统开发基础:UML中图的相关知识笔记(下)
1.状态图 状态图展现了一个状态机,它由状态.转换.事件.活动组成.状态图关注系统的动态视图,它对于接口.类.协作的行为建模尤为重要,它强调对象行为的事件顺序. 组成:简单状态.组合状态.转换(事件和 ...
最新文章
- 波士顿动力的机器人会开门了,中国还要奋力追赶
- 基于TF-IDF编码进行文本聚类分析:文档成对相似性计算、层次聚类(链接矩阵、树形图dendrogram绘制、聚类标签)
- Oracle imp导入数据
- 从卖冰箱到卖年夜饭,看海尔智家生态品牌新成果
- 循环队列之舞伴问题(含源码详解)
- 20172304 《程序设计与数据结构》第四周学习总结
- BZOJ 2733 线段树的合并 并查集
- CodeSmith注册机,支持5.2.2和5.2.1版
- 2017前端技术大盘点 1
- 在CrossOver中设置代理实现与特殊网段的网络连接
- 简单的C语言程序示例
- 电脑小技巧:怎么设置默认浏览器
- 威刚SU600固态硬盘不识别通电无反应慧荣SM系列主控数据恢复![图]
- 【JWPlayer】官方JWPlayer去水印步骤
- 读书、学习、工作和生活中收集的20条经典语录:21-40
- sql server日期时间转字符串
- 防弹咖啡真的能减肥吗?防弹咖啡减肥的原理是什么?
- Finclip小程序宿主环境与微信小程序宿主环境
- 初学前端需要掌握的HTML知识点
- python爬斗鱼直播房间名和主播名_斗鱼爬虫,爬取颜值频道的主播图片和名字