Vsevolod Levitan 1fe0c55e67 Dijkstra 1 年之前
..
src 1fe0c55e67 Dijkstra 10 月之前
Cargo.lock 1fe0c55e67 Dijkstra 10 月之前
Cargo.toml 1fe0c55e67 Dijkstra 10 月之前
README.md 1fe0c55e67 Dijkstra 10 月之前
example.cmd 1fe0c55e67 Dijkstra 10 月之前
example.sh 1fe0c55e67 Dijkstra 10 月之前

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