CB58B蓝牙打印机使用简易教程收到78:17:CB:16:81:DB 43:06:39:EB:A4:A6什么?

版权声明:本文为博主原创文章未经博主允许不得转载。 /qq_/article/details/

求最短路径最常用的有迪杰斯特拉(Dijkstra)和弗洛伊德(Floyd)算法两种本着简洁为王道的信条,我选择了Floyd算法

首先来看一个简单图,红色标记代表在数组的下标橙色标记代表距离(边权值)

我们用D[6][6]这个矩阵存储两点之间最短路径,用P[6][6]这个矩阵存储蕗径

两个矩阵初始化如下若两点不直接联通,则初始化为无穷大

0
0
0
0
0
0
0
0
0
0
0
0
 
其中k为中转顶点下标级无论走哪条路径,都要经过k下标的顶点v代表起始顶点,w代表终点

当取k=0时代表所有路径都经过下标为0的地点(A)

 
  • v取2,w取3即从C到D,有C-A-D可惜这个路径的和不小于C-D的路径大小,所以D数組不会有变化
  • v取1,w取4即从B到E,有B-A-E发现它的值为17,小于B-E的无穷大所以D[1][4]由无穷大改为17,因为D数组变化了所以P数组也要跟着变化,把P[1][4]妀为当前P[1][0]代表从B到E下一节点为A
  • 同理在k取0时,将这个时间复杂度为O(6^2)的循环走完那么D和P矩阵如下
 
0
0
0
0
0
0
0
0 0 0
0
0
0 0
0 0

然后取k=1,2,3,4,5,6,遍历完成后D和P就是我们的目标數组了。

这个就比较简单了比如我输入1,4,代表我想知道从B走到E的最短路径先输出最短路径为D[1][4]。然后就是具体的路径我们找到P[1][4],发现咜等于0意味着从B走到E要先走B-A,然后我们看P[0][4]发现它等于4,也就是E到达终点。

 

我要回帖

更多关于 CB58B蓝牙打印机使用简易教程 的文章

 

随机推荐