图的存储方式

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. 算法基础:图的相关算法知识笔记

    一.图的相关算法 1.图的分类知识 如下图: 2.生成树概念 对连通图进行遍历,过程中所经过的边和顶点的组合可看做是一棵普通树,通常称为生成树. 连通图的生成树具有这样的特征:边的数量 = 顶点数 - ...

  2. 论文|基于三部图网络结构的知识推荐算法

    转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thi ...

  3. 强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C(下)

    强化学习经典算法笔记(十二):近端策略优化算法(PPO)实现,基于A2C 本篇实现一个基于A2C框架的PPO算法,应用于连续动作空间任务. import torch import torch.nn a ...

  4. Java学习笔记 0、计算机相关知识了解

    文章目录 前言 一.计算机基本知识 1.认识CPU 2.认识内存 二.三大定律 三.IT两大鼻祖 四.万维网 五.windows下的常用命令 六.各类语言及应用 七.各种进制数 四个进制介绍 原码.反 ...

  5. 网络知识:七类网线相关知识介绍

    今天给大家介绍一下七类网线相关的知识,希望对大家能有所帮助! 一.什么是七类网线? 我们平时用的最多就是超5类线了,对网络要求高的单位布线会使用六类网线. 但是对于七类网线可能接触的不多,它主要为了适 ...

  6. Next.js踩坑入门系列(七) —— 其他相关知识

    Next.js踩坑入门系列 (一) Hello Next.js (二) 添加Antd && CSS (三) 目录重构&&再谈路由 (四) Next.js中期填坑 (五) ...

  7. 机器学习之EM算法的原理推导及相关知识总结

    文章目录 1.知道先验概率和后验概率 2.了解高斯混合模型GMM 3.通过最大似然估计推导EM算法的过程的实例 4.EM算法 5.知道pLSA模型 1.知道先验概率和后验概率 先验概率(prior p ...

  8. 【算法笔记】二分图最大权匹配 - KM算法(dfs版O(n4) + bfs版O(n3))

    整理的算法模板合集: ACM模板 匈牙利算法又称为 KM 算法,可以在 O(n3)O(n^3)O(n3) 时间内求出二分图的 最大权完美匹配 . 考虑到二分图中两个集合中的点并不总是相同,为了能应用 ...

  9. 系统开发基础:UML中图的相关知识笔记(下)

    1.状态图 状态图展现了一个状态机,它由状态.转换.事件.活动组成.状态图关注系统的动态视图,它对于接口.类.协作的行为建模尤为重要,它强调对象行为的事件顺序. 组成:简单状态.组合状态.转换(事件和 ...

最新文章

  1. 波士顿动力的机器人会开门了,中国还要奋力追赶
  2. 基于TF-IDF编码进行文本聚类分析:文档成对相似性计算、层次聚类(链接矩阵、树形图dendrogram绘制、聚类标签)
  3. Oracle imp导入数据
  4. 从卖冰箱到卖年夜饭,看海尔智家生态品牌新成果
  5. 循环队列之舞伴问题(含源码详解)
  6. 20172304 《程序设计与数据结构》第四周学习总结
  7. BZOJ 2733 线段树的合并 并查集
  8. CodeSmith注册机,支持5.2.2和5.2.1版
  9. 2017前端技术大盘点 1
  10. 在CrossOver中设置代理实现与特殊网段的网络连接
  11. 简单的C语言程序示例
  12. 电脑小技巧:怎么设置默认浏览器
  13. 威刚SU600固态硬盘不识别通电无反应慧荣SM系列主控数据恢复![图]
  14. 【JWPlayer】官方JWPlayer去水印步骤
  15. 读书、学习、工作和生活中收集的20条经典语录:21-40
  16. sql server日期时间转字符串
  17. 防弹咖啡真的能减肥吗?防弹咖啡减肥的原理是什么?
  18. Finclip小程序宿主环境与微信小程序宿主环境
  19. 初学前端需要掌握的HTML知识点
  20. python爬斗鱼直播房间名和主播名_斗鱼爬虫,爬取颜值频道的主播图片和名字

热门文章

  1. 给shinelon安装ubuntu 系统
  2. 亿智科技获北极光创投数千万天使轮投资,北极光创投领投
  3. CentOS7.4安装部署openstack[Liberty版](1)
  4. 深入了解台式频谱仪TFN TA980
  5. 图像检测:SSD系列
  6. Unity——图片资源
  7. 怎样使用CAD在nVisual中创建楼层场景
  8. 会计常用的Excel函数公式大全
  9. 尝鲜select多路复用
  10. 职业生涯点评(一):体验式还是目标导向式