You are on page 1of 7

Національний технічний університет України «КПІ ім.

Ігоря Сікорського»
Факультет інформатики та обчислювальної техніки
Кафедра інформаційних систем та технологій

Лабораторна робота №4
з дисципліни «СРМ-1. Дискретна математика»

на тему

«Обхід графів»

Виконала:
студентка гр. ІС-12
Джиоєва Єлизавета
Викладач:
доц. Рибачук Л.В.

Київ – 2021
1 Постановка задачі

2
2 Виконане завдання

3
4
5
6
3 Відповіді на контрольні запитання
1. DFS:
Крок 1. Почати з довільної вершини s v . Виконати DFS( s v ):=1. Включити цю
вершину в стек.
Крок 2. Розглянути вершину у верхівці стеку: нехай це вершина х. Якщо всі ребра,
інцидентні вершині х, позначено, то перейти до кроку 4, інакше – до кроку 3.
Крок 3. Нехай {x, y} – непозначене ребро. Якщо DFS(у) уже визначено, то позначити
ребро {x, y} штриховою лінією та перейти до кроку 2. Якщо DFS(у) не визначено, то
позначити ребро {x, y} потовщеною суцільною лінією, визначити DFS(у) як черговий
DFS-номер, включити цю вершину в стек і перейти до кроку 2.
Крок 4. Виключити вершину х зі стеку. Якщо стек порожній, то зупинитись, інакше –
перейти до кроку 2.
BFS:
Крок 1. Почати з довільної вершини s v . Виконати BFS( s v ):=1. Включити вершину s
v у чергу.
Крок 2. Розглянути вершину, яка перебуває на початку черги; нехай це буде вершина
х. Якщо для всіх вершин, суміжних із вершиною х, вже визначено BFS-номери, то
перейти до кроку 4, інакше – до кроку 3.
Крок 3. Нехай {x,y} – ребро, у якому номер BFS(у) не визначено. Позначити це ребро
потовщеною суцільною лінією, визначити BFS(у) як черговий BFS-номер, включити
вершину y у чергу й перейти до кроку 2.
Крок 4. Виключити вершину х із черги. Якщо черга порожня, то зупинитись, інакше –
перейти до кроку 2.
2. Вершина розмічається як розвідана тоді і лише тоді, коли існує шлях з s у v у графі
G.
Час роботи алгоритму O(m+n), де m = |E|, n = |V| для подання графу списками
суміжності. Для матриці суміжності – О(n^2).
3. О(m+n), де m=|E|, n=|V|.
4. Алгоритм пошуку в ширину систематично обходить усі ребра G для «відкриття»
всіх вершин, досяжних з s, обчислюючи при цьому відстань (мінімальна кількість
ребер) від s до кожної досяжної з s вершини. Пошук в ширину має таку назву тому,
що в процесі обходу ми йдемо вшир, тобто перед тим як приступити до пошуку
вершин на відстані k+1, виконується обхід вершин на відстані k.

You might also like