dolphin83/algorithm

Simple algorithms for graphs

Installs: 7

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/dolphin83/algorithm

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

This package is not auto-updated.

Last update: 2025-10-12 01:13:23 UTC


README

Компонент Algorithm содержит класс 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 в В, но не указана стоимость перемещения из В в А, функция считает что из А в В проехать можно, а в обратном направлении - нельзя и будет строить итоговый маршрут исходя из данного предположения.

Режим работы функции можно изменить, добавив четвертым параметром значение FALSE. Тогда при наличии информации о стоимости перемещения из А в В и отсутствии информации о стоимости обратного перемещения функция будет считать, что стоимость(A->B) = стоимость(B->A) и построит маршрут исходя из данного предположения.