所谓联程算法,就是两个无法直达的点,可以通过中转到达。在现在的飞行,高铁中很常见,我们的产品也遇到了类似的问题。
不管是用targin算法还是Dijkstra算法都不能很好的完成我的目的,于是我用了可达矩阵的一种矩阵相乘的思路。
A11 | A12 | A13 | A21 | A23 | A24 | A31 | A34 | |
A11 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
A12 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 |
A13 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
A21 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
A23 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
A24 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
A31 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
A34 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
A11 | A12 | A13 | A21 | A23 | A24 | A31 | A34 | |
A11 | 1 | 2 | 3 | 0 | 1 | 1 | 0 | 0 |
A12 | 0 | 1 | 2 | 0 | 2 | 3 | 0 | 1 |
A13 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
A21 | 0 | 2 | 1 | 1 | 3 | 4 | 0 | 1 |
A23 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 2 |
A24 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
A31 | 0 | 0 | 0 | 0 | 2 | 1 | 1 | 3 |
A34 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
A11 | A12 | A13 | A21 | A23 | A24 | A31 | A34 | |
A11 | 1 | 3 | 6 | 0 | 3 | 4 | 0 | 1 |
A12 | 0 | 1 | 3 | 0 | 3 | 6 | 0 | 3 |
A13 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
A21 | 0 | 3 | 3 | 1 | 6 | 10 | 0 | 4 |
A23 | 0 | 0 | 0 | 0 | 1 | 3 | 0 | 3 |
A24 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
A31 | 0 | 0 | 0 | 0 | 3 | 3 | 1 | 6 |
A34 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
原文:https://www.cnblogs.com/weggi/p/11956657.html