🕸️ Теорія графів

Шпаргалка: Теорія графів

Вершини, ребра, дерева, BFS/DFS, найкоротші шляхи та мінімальні остовні дерева — повна довідка

Основні терміни

Вершина (vertex)
Вузол графа, елемент множини V
Ребро (edge)
Зв'язок між двома вершинами, елемент E
Степінь вершини
deg(v) — кількість ребер, що виходять з v
Неорієнтований граф
Ребро {u,v} = {v,u} (без напрямку)
Орієнтований граф
Ребро (u,v) ≠ (v,u) (з напрямком)
Зважений граф
Кожному ребру відповідає вага w(e)
Шлях (path)
Послідовність вершин без повторів, з'єднаних ребрами
Цикл (cycle)
Шлях, що повертається у початкову вершину
✦ Зв'язний граф (connected graph) — граф, у якому між будь-якою парою вершин існує шлях.

Лема про рукостискання (Handshaking Lemma)

Σ deg(v) = 2·|E|

Сума степенів усіх вершин неорієнтованого графа завжди дорівнює подвоєній кількості ребер — кожне ребро додає 1 до степеня кожної з двох вершин, які воно з'єднує.

✦ Наслідок: кількість вершин з непарним степенем завжди парна.

Дерева

Дерево — зв'язний граф без циклів
n вершин → рівно n − 1 ребро
ВластивістьЗначення
Кількість реберЗавжди n − 1 (n — кількість вершин)
ЦиклівНемає жодного
Зв'язністьБудь-які дві вершини з'єднані рівно одним шляхом
Видалення ребраРозбиває дерево на 2 компоненти
Додавання ребраУтворює рівно один цикл
✦ Повний граф Kₙ (кожна пара вершин з'єднана) має n(n−1)/2 ребер.

Алгоритми обходу: BFS vs DFS

КритерійBFS (пошук у ширину)DFS (пошук у глибину)
Структура данихЧерга (queue, FIFO)Стек (stack, LIFO) або рекурсія
Порядок обходуРівень за рівнемЗаглиблення одним шляхом до кінця
Найкоротший шляхГарантує найкоротший шлях у незваженому графіНе гарантує найкоротшого шляху
Пам'ятьМоже зберігати цілий рівень вершинГлибина рекурсії ≤ висота графа
Типове застосуванняНайкоротший шлях, перевірка зв'язності по рівняхТопологічне сортування, пошук циклів, компоненти зв'язності
✦ BFS з початкової вершини знаходить найкоротший шлях (за кількістю ребер) у незваженому графі; DFS цього не гарантує.

Найкоротший шлях: Дейкстра та Беллман-Форд

Алгоритм Дейкстри
Найкоротші шляхи від 1 вершини; лише невід'ємні ваги ребер
Алгоритм Беллмана-Форда
Допускає від'ємні ваги; виявляє від'ємні цикли
АлгоритмВід'ємні вагиВиявлення від'ємного циклу
ДейкстраНе допускаються — результат буде некоректнимНе виявляє
Беллман-ФордДопускаютьсяТак, якщо після n−1 ітерацій вагу шляху ще можна зменшити
✦ Якщо всі ваги ребер невід'ємні — обирайте Дейкстру (швидша); якщо можливі від'ємні ваги — Беллман-Форда.

Мінімальне остовне дерево (MST)

Алгоритм Крускала
Сортує всі ребра за вагою, жадібно додає найлегше ребро, що не утворює цикл
Алгоритм Прима
Починає з однієї вершини, на кожному кроці додає найлегше ребро, що з'єднує дерево з новою вершиною
✦ Остовне дерево (spanning tree) охоплює всі n вершин графа рівно n−1 ребром без циклів; MST — те з них, що має мінімальну сумарну вагу.

Планарність та розфарбування графів

Планарний граф
Можна намалювати на площині без перетинів ребер
Хроматичне число
χ(G) — мінімум кольорів, щоб суміжні вершини мали різні кольори
✦ Теорема чотирьох фарб: будь-яку планарну карту можна розфарбувати не більш ніж 4 кольорами так, щоб суміжні області відрізнялися.

Як користуватися шпаргалкою

Ця шпаргалка зосереджує найважливіші терміни, властивості та алгоритми теорії графів у компактному форматі для швидкого пошуку та підготовки до іспитів. Матеріал систематизований від базових означень (вершина, ребро, степінь) до алгоритмів обходу та пошуку найкоротших шляхів.

Ефективне використання

Використовуйте шпаргалку поряд з розв'язуванням задач — не для списування, а як довідник. Спершу спробуйте намалювати граф і застосувати алгоритм самостійно, потім звіртеся з таблицями BFS/DFS чи Дейкстри/Беллмана-Форда, щоб перевірити коректність обраного підходу.

Часті запитання (FAQ)

Що таке теорія графів?
Теорія графів — розділ дискретної математики, що вивчає графи — структури з вершин (вузлів) та ребер (зв'язків між ними). Вона застосовується для моделювання мереж, маршрутів, залежностей та відношень між об'єктами.
У чому різниця між BFS та DFS?
BFS (пошук у ширину) обходить граф рівень за рівнем і використовує чергу (FIFO) — спочатку відвідує всіх сусідів вершини, потім сусідів сусідів. DFS (пошук у глибину) заглиблюється якнайдалі одним шляхом і використовує стек або рекурсію (LIFO), повертаючись назад лише коли шлях вичерпано.
Коли використовувати алгоритм Дейкстри і які в нього обмеження?
Алгоритм Дейкстри знаходить найкоротші шляхи від однієї вершини до всіх інших у зваженому графі, але працює коректно тільки якщо всі ваги ребер невід'ємні. Якщо є від'ємні ваги, потрібен алгоритм Беллмана-Форда.
Що таке остовне дерево графа?
Остовне дерево (spanning tree) — це підграф зв'язного графа, що містить усі його вершини, є деревом (зв'язний, без циклів) і має рівно n−1 ребро, де n — кількість вершин. Мінімальне остовне дерево (MST) має найменшу можливу сумарну вагу ребер; його знаходять алгоритмами Крускала або Прима.
Де на практиці застосовується теорія графів?
Теорія графів лежить в основі соціальних мереж (граф зв'язків між користувачами), GPS-навігації та маршрутизації (пошук найкоротшого шляху), комп'ютерних мереж (топологія та маршрутизація пакетів), рекомендаційних систем та аналізу залежностей у програмному коді.