1
0
Vsevolod Levitan 1fe0c55e67 Dijkstra 1 gadu atpakaļ
..
src 1fe0c55e67 Dijkstra 10 mēneši atpakaļ
Cargo.lock 1fe0c55e67 Dijkstra 10 mēneši atpakaļ
Cargo.toml 1fe0c55e67 Dijkstra 10 mēneši atpakaļ
README.md 1fe0c55e67 Dijkstra 10 mēneši atpakaļ
example.cmd 1fe0c55e67 Dijkstra 10 mēneši atpakaļ
example.sh 1fe0c55e67 Dijkstra 10 mēneši atpakaļ

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