【floyd算法matlab】
文章插图
a矩阵是邻接矩阵,对角线上为o,其余位置数字表示的是两点之间距离,比如a(1,2)=2,表示从第一个点到第二个点的距离为2.inf是无穷大的意思,这里表示没有直接沟通这两点的路 。n=length(d);设定n为d矩阵的长度 。接下来的两重循环,得到的r矩阵是n*n的矩阵,它每个数据表示的是路径,比如:r(1,3)=1;表示路径为:1-1-3.这里是初始化路径了 。后面的三重循环是floyd算法的关键所在,就是更新路线了 。里面的那个判断指的是:假设有3个点,123;如果我从1-2-3之间总距离小于1-3的距离,那么我r(1,3)=2;这就是选取更近的路线了 。最后的两个判断是为了不让曾经走过的点再次被遍历 。就是不回头的意思了,这个一般都可以忽略了,你照打上去就是了 。不知道这样的解释你是否满意 。
推荐阅读
- 拼多多竞价有什么最优算法?流量大吗?
- Matlab三维图像,模拟太阳地球的运动轨迹……
- 湘潭大学绩点算法 湘潭大学绩点算法如下
- 王者荣耀优惠券怎么获得 揭秘金牌称号新算法
- 算法工程师需要考什么证 具体介绍
- 增量预算法指的是什么
- 抖音有哪些底层逻辑的算法和机制?新手小白必懂的抖音推荐逻辑
- 抖音选择推荐还是精选好?抖音算法是什么?
- 算法是解决问题的什么
- 一个数的十位上1比个位上的数少7 十位数个位数的算法