dolphin83/algorithm

图的简单算法

dev-master 2015-12-09 07:56 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:36:35 UTC


README

Algorithm 组件包含用于寻找最便宜路径的 Dijkstra 类,使用Dijkstra 算法

添加到项目中

composer require dolphin83/algorithm

基本使用

$departure = 'A';
$destination = 'C';
$map['A']['B'] = 2;
$map['A']['C'] = 7;
$map['A']['D'] = 5;
$map['B']['D'] = 3;
$map['C']['B'] = 3;
$map['D']['C'] = 1;

$res = Dijkstra::getCheapestRoute($departure, $destination, $map);

默认情况下,函数使用现有的票价矩阵“原样”。例如,如果指定了从城市A到B的移动成本,但没有指定从B到A的移动成本,则函数认为可以从A到B行驶,但在相反方向则不行,并将基于此假设构建最终路线。

可以通过添加第四个参数将函数的工作模式更改为 FALSE。这样,如果存在从A到B的移动成本信息,但没有从B到A的移动成本信息,则函数会认为成本(A->B) = 成本(B->A),并基于此假设构建路线。