Цикл (теорія графів)
Ци́кл (в теорії графів) — ланцюг x0u1x1u2x2…xl−1ulx0, в якому перша та остання вершина збігаються.
Якщо відсутні інші збіжності вершин, то такий цикл називається простим. Цикл, який містить всі ребра графа називається ейлеровим, а простий цикл, який містить всі вершини графа — гамільтоновим. Якщо кожне ребро ui — дуга від xi−1 до xi (i = 1, 2, …, l; xl = x0), то цикл називається орієнтованим, або орциклом. Дозволяючи повторення ребер, отримаємо визначення циклічного (замкненого) шляху.
Нехай дано орієнтований або неорієнтований граф без петель і кратних ребер. Потрібно перевірити, чи є він ациклічним, а якщо не є, то знайти будь-який цикл.
Вирішимо цю задачу за допомогою серії пошуків в глибину в графі. Тобто з кожної вершини, до якої ми ще жодного разу не приходили, запустимо пошук в глибину, який при вході в вершину буде позначати її відвіданою. І якщо пошук в глибину знайде ребро до вже відвіданої вершини, то це означає, що ми знайшли цикл.[1][2]
Сам цикл можна відновити проходом по масиву предків.
Кожен алгоритм топологічного сортування виявляє цикли, бо їх присутність означає відсутність часткового порядку для вершин.
Знаходження циклів у графі очікування[en] дозволяє виявляти взаємні блокування.[3]. Якщо Андрій чекає на Богдану, Богдана чекає на Василя, а Василь чекає на Андрія, то існує цикл і вони не дочекаються.[4]
Циклічні залежності[en] - це теж форма циклу на графі і їх наявність є небажаним індикатором.[5]
- Циклічний граф
- Циклічний граф (алгебра)
- Ланцюг (теорія графів)
- Шлях (теорія графів)
- Покриття вершин циклами
- Покриття ребер циклами
- Панциклічний граф
- Теорема Веблена
- Сильна теорема про досконалі графи
- Sedgewick, Robert (1983). Algorithms. Reading, Mass: Addison-Wesley. ISBN 0-201-06672-6.
- Skiena, Steven S. (2008). The algorithm design manual (вид. 2nd). London: Springer. ISBN 978-1-84800-069-8.
- Енциклопедія кібернетики, Зиков О. О., т. 2, с. 518.
- Silberschatz, Abraham; Peter Galvin; Greg Gagne (2003). Operating System Concepts. John Wiley & Sons, INC. ISBN 0-471-25060-0.
- Джозеф Ротман[en]. An Introduction to the Theory of Groups. — 4th. — Springer (Graduate Texts in Mathematics), 1994. — 532 с. — ISBN 978-0387942858.(англ.)
- ↑ Sedgewick, 1983, Graph algorithms.
- ↑ Skiena, 2008, p. 173.
- ↑ Silberschatz, 2003, p. 260.
- ↑ Skiena, 2008, p. 479.
- ↑ Pike, Rob. proposal: Go 2: allow import cycle · Issue #30247 · golang/go. GitHub (англ.). Процитовано 5 вересня 2025.
| Це незавершена стаття з математики. Ви можете допомогти проєкту, виправивши або дописавши її. |