Floyd-Warshall算法过程中矩阵计算方法—十字交叉法(转)
前几天在看Floyd算法的时候,虽然感觉程序很简单,但是让你动手写那些过程矩阵的时候就感觉不怎么简单了,就上网找找看有木有简便的计算方法,搜索之后没有发现有现成的例子,只搜到了两句“弄两条线,从左上角挪到右下角”,“十字交叉法,从左上角到右下角”,除此之外就再也木有找到有用的东西了。没有内容就创造内容,填补空白!
先来简单分析下,由于矩阵中对角线上的元素始终为0,因此以k为中间点时,从上一个矩阵到下一个矩阵变化时,矩阵的第k行,第k列和对角线上的元素是不发生改变的(对角线上都是0,因为一个顶点到自己的距离就是0,一直不变;而当k为中间点时,k到其他顶点(第k行)和其他顶点到k(第k列)的距离是不变的)。
因此每一步中我们只需要判断4*4-3*4+2=6个元素是否发生改变即可,也就是要判断既不在第k行第k列又不在对角线上的元素。具体计算步骤如下:以k为中间点(1)“三条线”:划去第k行,第k列,对角线(2)“十字交叉法”:对于任一个不在三条线上的元素x,均可与另外在k行k列上的3个元素构成一个2阶矩阵,x是否发生改变与2阶矩阵中不包含x的那条对角线上2个元素的和有关,若二者之和小于x,则用它们的和替换x,对应的Path矩阵中的与x相对应的位置用k来替代。。。
下面来具体看高分笔记上面的那个题目吧。。。。
详细图解:
经过以上4步就可以得到最终结果了。。。写的比较繁琐,但是看明白了之后,计算将会非常简单啊。。。。。
转载于:https://www.cnblogs.com/Fy1999/p/9531593.html
Floyd-Warshall算法过程中矩阵计算方法—十字交叉法(转)相关推荐
- Floyd Warshall算法
Description: 描述: This is a very popular interview problem to find all pair shortest paths in any gra ...
- C++floyd warshall算法求最短路径(附完整源码)
C++floyd warshall算法求最短路径 floyd warshall算法求最短路径的完整源码(定义,实现,main函数测试) floyd warshall算法求最短路径的完整源码(定义,实现 ...
- 【算法】弗洛伊德(Floyd)算法
这个算法主要要弄懂三个循环的顺序关系. 弗洛伊德(Floyd)算法过程: 1.用D[v][w]记录每一对顶点的最短距离. 2.依次扫描每一个点,并以其为基点再遍历所有每一对顶点D[][]的值,看看是否 ...
- 【点云3D目标检测】跑通CIA-SSD过程中的一些报错集锦
前言 本文主要是介绍了在跑通CIA-SSD系列算法过程中遇到的一些bug,下面是对CIASSD算法的一个简单的介绍. CIA-SSD其基本思想是校准单步目标检测中分类和定位两个任务,提出Confide ...
- matlab二元一次方程求解_高中化学二元混合物的十字交叉法解法
"十字交叉法"是高中化学计算题中巧解二元混合物问题的一种常用的有效方法,正确运用"十字交叉法",可以帮助同学们方便.迅速地解决计算问题. 速解的前提:1.必须清 ...
- 离散数学中Warshall算法简析
离散数学中Warshall算法简析 最近学了离散数学的图论,突然感觉离散数学的作用十分强大,相信学好离散数学中的算法,编程的魅力也不言而喻.闲话不多说,这篇博客中记录的是Warshall算法的简单解析 ...
- Floyd - Warshall(弗洛伊德算法)
简介:Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似.该算法名称以创始人之一.1978年图灵奖获得者.斯坦福大学计算机科学系 ...
- WarShall算法求传递闭包(可达矩阵)
最近在复习离散数学,顺便记录记录自己对warshall算法的理解. 1.传递闭包(可达矩阵) 传递闭包是有向图的一个重要性质,它指的是在有向图中从任意一个节点出发,可以到达的所有节点的集合.在某些应用 ...
- 记面陌陌科技计算机视觉算法工程师被刷经历(附面试过程中被问倒的一些算法题分析)
转载过来的,原文:https://www.cnblogs.com/aoanng/p/9581612.html 求职季,真的会让一个人变得有些不一样吧,比如我,对于一个菜鸟来说,最近一段时间焦虑不安外加 ...
- 第一篇博客--记面陌陌科技计算机视觉算法工程师被刷经历(附面试过程中被问倒的一些算法题分析)...
求职季,真的会让一个人变得有些不一样吧,比如我,对于一个菜鸟来说,最近一段时间焦虑不安外加有点自闭... 前段时间在校内网上看到了陌陌科技内推计算机视觉算法工程师和机器学习算法工程师的消息,抱着试试的 ...
最新文章
- phpstrom中让volt高亮显示
- 安卓bochs模拟linux_云电脑?不需要的,有了这个模拟器,手机轻松变电脑
- 【转载】dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)
- C语言实现希尔排序shell sort算法之一(附完整源码)
- stack 的优势 - 每天5分钟玩转 Docker 容器技术(113)
- 华为交换机最常用的基础命令汇总大全,赠最新版华为S系列交换机调试配置指南
- 《自抗扰控制技术》——第二遍(仿真)
- 收藏有关信号处理的博客
- 配置全局使用的scss样式公用样式函数(后台框架整体颜色改变)
- (转)无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动
- MATLAB机械臂建模
- 缩略图查看器(Thumbs.DB Viewer) 1.2.0.80
- qBittorrent
- (第二场网络赛J题)Leaking Roof(bfs)
- 操作系统(一)——操作系统概述
- shell脚本回到当前目录
- 常见颜色RGB颜色值
- 中国CAR-T细胞疗法成果首登Nature,我们与背后公司聊了聊技术进展|量子位·对撞派 × 邦耀生物...
- python爬取某网站视频(简易实现易上手)
- Nginx+uwsgi+celery+supervisor部署Django前后端分离项目