Изменения

Перейти к: навигация, поиск

Алгоритм Прима

3240 байт убрано, 23:11, 31 декабря 2011
Пример работы алгоритма
|}
 
==Пример работы алгоритма==
 
{| border="1" cellpadding="3" cellspacing="0" style="text-align:center" width=70%
|-
|rowspan="1"|№ шага
|состояние
|граф
|-
|style="background:#f9f9f9" width="30%"|1) Получаем на вход граф, все вершины находятся в куче, ключи всех вершин <tex>inf</tex>.
|width="150%"|key[] : [<tex>inf</tex>, <tex>inf</tex>, <tex>inf</tex>, <tex>inf</tex>, <tex>inf</tex>]
Q : [1, 2, 3, 4, 5]
 
вершина с минимальным ключом : <tex>-</tex>
 
p[] : <tex>-</tex>
 
edges[] : <tex>-</tex>
|[[Файл:Prim20.jpg|center|300px]]
|-
|style="background:#f9f9f9" width="30%"|2) Выбрали первую вершину пути(1). Поменяли ключ стартовой вершины на 0. Убрали ее из кучи, так как ее ключ минимален.
|width="100%"|key[] : [<tex>0</tex>, <tex>inf</tex>, <tex>inf</tex>, <tex>inf</tex>, <tex>inf</tex>]
Q : [2, 3, 4, 5]
 
вершина с минимальным ключом : <tex>1</tex> ключ 0
 
p[] : [1]
 
edges[]: <tex>-</tex>
|[[Файл:Prim21.jpg|center|300px]]
|-
|style="background:#f9f9f9" width="30%"|3) Смотрим на детей вершины (1). Расставляем им ключи. Находим в куче вершину с минимальным ключом(3). Удаляем ее из кучи, добавляем в ответ.
|width="100%"|key[] : [0, <tex>inf</tex>, 7, 14, <tex>inf</tex>]
Q : [2, 4, 5]
 
вершина с минимальным ключом : 3 с ключом 7
 
p[] : [1, 3]
 
edges: [(1, 3)]
|[[Файл:Prim22.jpg|center|300px]]
|-
|style="background:#f9f9f9" width="30%"|4)Смотрим на детей вершины (3). Расставляем им ключи. Находим в куче вершину с минимальным ключом(2).Удаляем ее из кучи, добавляем в ответ.
|width="100%"|key[] : [0, <tex>inf</tex>, 7, 14, 71]
Q : [2, 5]
 
вершина с минимальным ключом : 4 с ключом 14
 
p[] : [1, 3, 4]
 
edges: [(1, 3), (4, 1)]
|[[Файл:Prim23.jpg|center|300px]]
|-
|style="background:#f9f9f9" width="30%"|5)Смотрим на детей вершины (4). Расставляем им ключи. Находим в куче вершину с минимальным ключом(2).Удаляем ее из кучи, добавляем в ответ.
|width="100%"|key[] : [0, 4, 7, 14, 71]
Q :[5]
 
вершина с минимальным ключом : 2 с ключом 4
 
p[] : [1, 3, 4, 2]
 
edges: [(1, 3), (4, 1), (4, 2)]
|[[Файл:Prim24.jpg|center|300px]]
|-
|style="background:#f9f9f9" width="30%"|6)Смотрим на детей вершины (2). Расставляем им ключи. Находим в куче вершину с минимальным ключом(5).Удаляем ее из кучи, добавляем в ответ.
|width="100%"|key[] : [0, 4, 7, 14, 52]
Q :[]
 
вершина с минимальным ключом : 5 с ключом 52
 
p[] : [1, 3, 4, 2, 5]
edges: [(1, 3), (4, 1), (4, 2), (2, 5)]
|[[Файл:Prim25.jpg|center|300px]]
|}
== См. также ==
Анонимный участник

Навигация