Алгоритм Катхілл — МаккіАлгоритм Катхілл — Маккі (КМ), названий на честь Елізабет Катхілл і Джеймса Маккі,[1] це алгоритм переведення розрідженої матриці, яка симетрично розріджена, у смугову матрицю з малою шириною смуги, шляхом переставляння рядків і стовпчиків. Зворотний алгоритм Катхілл Маккі (ЗКМ) запропонований Аланом Джорджем — це той самий алгоритм, але з оберненим порядком індексування вершин.[2] На практиці це допомагає отримати менше заповнювання нульових позицій порівняння з КМ впорядкуванням при використанні методу Гауса.[3] Алгоритм Катхілл — Маккі — це варіант стандартного пошуку в ширину, що використовується для графів. Він стартує з периферійної вершини і генерує рівневу структуру для допоки не вичерпано всі вершини. Множина утворюється за допомогою множини збираючи всі вершини суміжні вершинам в . Ці вершини записуються в порядку збільшення степеня вершини. Цей останній момент і є відмінність від алгоритму пошуку в ширину. АлгоритмМаючи симетричну матрицю ми візуалізуємо її як матрицю суміжності графу. Тоді алгоритм Катхілл — Маккі перепозначає вершини графу, щоб зменшити ширину смуги матриці суміжності. Алгоритм формує впорядкований кортеж з n елементів, який містить новий порядок вершин. Спочатку обираємо периферійну вершину, або псевдопериферійну, бо периферійну зазвичай важко знайти, і встановлюємо . Після цього ми повторюємо наступні кроки допоки
Інакше кажучи, нумеруємо вершини відповідно до спеціального пошуку в ширину де сусідні вершини відвідуються в порядку від найменшого до найбільшого степеня. Див. такожПримітки
|