Курсовая работа: Алгоритм Дейкстры

Найти кратчайшие пути от вершины 1 ко всем другим вершинам графа

Неориентированное ребро будем рассматривать как пару противоположно ориентированных дуг равного веса. Воспользуемся алгоритмом Дейкстры. Постоянные пометки будем снабжать знаком +, остальные пометки рассматриваются как временные.


x1 x2 x3 x4 x5 x6 x7 x8 x9
x1 3 2
x2 5 15 12
x3 8 24
x4 6 8 18 4 11
x5 12 7 20
x6 20 9 13
x7 10 4 9 16
x8 24 16 22
x9 11 13

Алгоритм работает так:

Шаг 1 . .

Первая итерация

Шаг 2 . - все пометки временные.

;

Шаг 3 . соответствует x5 .

Шаг 4 . x5 получает постоянную пометку l(x5 )=2+ , p=x5 .

Шаг 5 . Не все вершины имеют постоянные пометки, поэтому переходим к шагу 2.

Вторая итерация

Шаг 2 . - все пометки временные.

; ;

Шаг 3 . соответствует x2 .

Шаг 4 . x2 получает постоянную пометку l(x2 )=3+ , p=x2 .

Шаг 5 . Не все вершины имеют постоянные пометки, поэтому переходим к шагу 2.

Третья итерация

Шаг 2 . - только вершины x3 и x4 имеют временные пометки.

;

Шаг 3 . соответствует x3 .

Шаг 4 . x3 получает постоянную пометку l(x3 )=8+ , p=x3 .

Шаг 5 . Не все вершины имеют постоянные пометки, поэтому переходим к шагу 2.

Четвертая итерация

Шаг 2 . - все пометки временные.

;

Шаг 3 . соответствует x4 .

Шаг 4 . x4 получает постоянную пометку l(x4 )=9+ , p=x4 .

Шаг 5 . Не все вершины имеют постоянные пометки, поэтому переходим к шагу 2.

Пятая итерация

К-во Просмотров: 754
Бесплатно скачать Курсовая работа: Алгоритм Дейкстры