1
0
Vsevolod Levitan 1fe0c55e67 Dijkstra 7 mesiacov pred
..
src 1fe0c55e67 Dijkstra 6 mesiacov pred
Cargo.lock 1fe0c55e67 Dijkstra 6 mesiacov pred
Cargo.toml 1fe0c55e67 Dijkstra 6 mesiacov pred
README.md 1fe0c55e67 Dijkstra 6 mesiacov pred
example.cmd 1fe0c55e67 Dijkstra 6 mesiacov pred
example.sh 1fe0c55e67 Dijkstra 6 mesiacov pred

README.md

Алгоритм Дейкстры.

Пример

Пример графа

Команда запуска с cargo: cargo run -- 0 0-1=4 0-7=8 1-7=11 1-2=8 7-6=1 7-8=7 2-8=2 6-8=6 6-5=2 2-5=4 2-3=7 5-3=14 5-4=10 3-4=9

Команда запуска исходника: dijkstra.exe 0 0-1=4 0-7=8 1-7=11 1-2=8 7-6=1 7-8=7 2-8=2 6-8=6 6-5=2 2-5=4 2-3=7 5-3=14 5-4=10 3-4=9

Вывод:

Total edges: 14
Starting vertex: 0
Finding paths...
Length of path from 0 to 0 is 0
Length of path from 0 to 1 is 4
Length of path from 0 to 2 is 12
Length of path from 0 to 3 is 19
Length of path from 0 to 4 is 21
Length of path from 0 to 5 is 11
Length of path from 0 to 6 is 9
Length of path from 0 to 7 is 8
Length of path from 0 to 8 is 14

Аргументы запуска

  1. Стартовая вершина
  2. Список рёбер через пробел в формате "A-B=C" где A, B - символьные названия вершин, C - длина ребра Пример: dijkstra.exe 0 0-1=4 0-7=8 1-7=11 1-2=8 7-6=1 7-8=7 2-8=2 6-8=6 6-5=2 2-5=4 2-3=7 5-3=14 5-4=10 3-4=9

Запуск

При наличии cargo (комплекта сборки для Rust):

cargo run -- <старт> <рёбра>

При отсутствии cargo:

Онлайн-компилятор: OnlineGDB