Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
algor_1.docx
Скачиваний:
5
Добавлен:
01.05.2015
Размер:
112.49 Кб
Скачать

69. Пошук у глибину

Порядок обходу вершин.

Алгори́тм пошуку́ в глибину́ (англ.Depth-first search, DFS) — алгоритмдля обходудерева, структури подібної до дерева, абографа. Робота алгоритма починається з кореня дерева (або іншої обраної вершини в графі) і здійснюється обхід в максимально можливу глибину до переходу на наступну вершину.

Псевдокод

Рекурсивна версія алгоритму:

def dfs(v):

помітити v як відвідану

обійти-в-прямому-порядку(v)

для всіх ребер i інцидентних до v таких що i не відвідано

dfs(i)

обійти-в-зворотньому-порядку(v)

Версія без рекурсії:

dfs(граф G)

{

список L = порожній

дерево T = порожнє

обрати початкове ребро x

пошук(x)

поки(L не порожній)

{

видалити ребро (v, w) з голови L

якщо w не відвідано

{

додати (v, w) до T

пошук(w)

}

}

}

пошук(вершина v)

{

відвідати v

для кожного ребра (v, w)

додати ребро (v, w) на початок L

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]