一、图论基础知识

图论相关概念 :https://wenku.baidu.com/view/a65d646858fafab069dc024c.html?sxts=1563948479936

二、Floyd算法(弗洛伊德算法)

Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似。

2.1 通过一个图的权值矩阵求出它的每两点间的最短路径矩阵

从图的带权邻接矩阵A=[a(i,j)] n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又用同样地公式由D(1)构造出D(2);……;最后又用同样的公式由D(n-1)构造出矩阵D(n)。矩阵D(n)的i行j列元素便是i号顶点到j号顶点的最短路径长度,称D(n)为图的距离矩阵,同时还可引入一个后继节点矩阵path来记录两点间的最短路径。

2.2 状态转移方程

其状态转移方程如下: map[i,j]:=min{map[i,k]+map[k,j],map[i,j]};

map[i,j]表示i到j的最短距离,K是穷举i,j的断点,map[n,n]初值应该为0,或者按照题目意思来做。

当然,如果这条路没有通的话,还必须特殊处理,比如没有map[i,k]这条路。

2.3 算法过程

1.从任意一条单边路径开始。所有两点之间的距离是边的权,如果两点之间没有边相连,则权为无穷大。

2.对于每一对顶点 u 和 v,看看是否存在一个顶点 w 使得从 u 到 w 再到 v 比已知的路径更短。如果是更新它。

把图用邻接矩阵G表示出来,如果从Vi到Vj有路可达,则G[i][j]=d,d表示该路的长度;否则G[i][j]=无穷大。定义一个矩阵D用来记录所插入点的信息,D[i][j]表示从Vi到Vj需要经过的点,初始化D[i][j]=j。把各个顶点插入图中,比较插点后的距离与原来的距离,G[i][j] = min( G[i][j], G[i][k]+G[k][j] ),如果G[i][j]的值变小,则D[i][j]=k。在G中包含有两点之间最短道路的信息,而在D中则包含了最短通路径的信息。

(详细:https://baike.baidu.com/item/Floyd%E7%AE%97%E6%B3%95/291990?fr=aladdin)

图论学习NO2.图论相关内容了解相关推荐

  1. 学习图神经网络相关内容

    本周学习情况 本周学习任务: 学习图神经网络相关内容 图基本知识(连通分量.度中心性.特征向量中心性.中介中心性.接近中心性.PageRank.HITS)并使用networkx包简单实践. 学习了相关 ...

  2. 数据挖掘课程学习——序列模式发现相关内容调研

    数据挖掘课程学习--序列模式发现相关内容调研 本次实验完成"序列模式发现"的相关内容调研,主要内容包括:什么是序列模式发现:应用在哪些领域:经典的算法有哪些:应用在怎样的数据上:得 ...

  3. 基于centos7学习总结 -- 文件系统相关内容

    个人学习总结,多有不足之处,还望大佬多多指点. 一.文件系统 1. 磁盘的组成与分区: 磁盘的组成:磁盘是由磁头.机械手臂.圆形碟片和主轴马达组成. 扇区:是最小的存储单位,依据磁盘的设计不同,目前主 ...

  4. 图论学习记录2——路、圈、连通

    图论学习(哈工大 HIT)B站地址 路.圈.连通 通道:图G的顶点和边的交错序列: v 0 x 1 v 1 x 2 v 2 . . . x n v n v_0x_1v_1x_2v_2...x_nv_n ...

  5. MMAction2 学习笔记 (一)——骨骼动作识别模型相关内容

    MMAction2 学习笔记 (一)--骨骼动作识别模型相关内容 0- 写在前面 好久不用CSDN发东西了,近期研究可以说有进展却又没什么进展,达到方向切换到了动作识别,目前正在实习,具体的内容方向是 ...

  6. DNS相关内容学习笔记1

    记录dns协议学习中的一些内容,全程无图. 目录 DNS简介 DNS查询过程 DNS缓存 DNS劫持 DoH基本原理 Firefox开启DoH DNS报文格式 DNS几个关键字段 DNS类型字段 DN ...

  7. nuxt3.0学习-二、nuxt3.0的请求相关内容、状态管理(useState/Pinia)、cookie管理(useCookie)、token续期

    请求相关内容 nuxt3.0提供的多种数据访问 API 上一次是nuxt3.0的安装和约定式的使用 接下来就是使用请求调整,Nuxt3 中提供的多种数据访问 API: $fetch: 使用时机: 首屏 ...

  8. 学习笔记--Ubuntu优化相关内容

    Note from 2014-06-28 20:59:40.126 Ubuntu 优化相关的知识 一.基本知识     1.进程简介     广泛得说,所有在系统中运行的,用于执行各种各样任务的,都是 ...

  9. golang实践LSM相关内容

    LSM LSM(log-structured merge-tree)是一种分层,有序,面向磁盘的数据结构,其核心思想是充分了利用了,磁盘批量的顺序写要远比随机写性能高出很多,在计算机科学中,日志结构的 ...

最新文章

  1. Angular 运行报错 RouterModule.forRoot() called twice.
  2. 聊聊买卖股票的最佳时机
  3. shell sqlplus执行sql文_各主流数据库非交互执行
  4. 1029:计算浮点数相除的余
  5. java 短信猫发送短信的方法
  6. Educational Codeforces Round 88 (Rated for Div. 2)(AB)
  7. 证书的应用之一 —— TCPSSL通信实例及协议分析(上)
  8. jmeter连数据库
  9. Android:ViewFlipper、幻灯片
  10. 研究发现,商业语音识别系统存在高错误率
  11. mysql基础8-运算符、函数、索引
  12. 知识星球限时优惠活动,速进!
  13. linux安装kafka_巨杉Tech | 基于Kafka+Spark+SequoiaDB实时处理架构快速实战
  14. CROSS APPLY 和 OUTER APPLY 函数
  15. 关键词搜索排行榜-精准找到行业流量关键词
  16. 亚楠魔域单机V6一键端分享
  17. 下一个大危机,会是什么?
  18. 水果食用大全 -- 果品食疗 - 柿子
  19. 时间序列 R 08 指数平滑 Exponential smoothing
  20. 定位的开启及特点(固定定位和粘滞定位)

热门文章

  1. JS对异步循环使用递归,分批进行大量异步请求
  2. C#用于生成meileg网站的图片下载地址
  3. 尚驰洗车:兰州高端洗车店精致洗车流程
  4. mall前端项目的安装与部署
  5. 面试官:生产环境碰到系统CPU飙高和频繁GC,你要怎么排查?
  6. 丁书苗发家过程披露:结识刘志军后财富增10倍
  7. 峰哥教你如何在B站学大数据(建议收藏)
  8. 中国移动清退3G进行时 1
  9. php获取网站截图,异步获取评论者网站截图
  10. switch中使用continue和break