Послідовна розмальовка графа в середовищі програмування delphi

В параграфі розглядається програма, основним призначенням якої є відшукання хроматичного числа та здійснення правильної розмальовки вершин неорієнтованого графа, написана в середовищі Delphi 7. Зазначимо, що внизу сторінки міститься посилання, скориставшись якими можна завантажити delphi-проект, а в цій статті коротко опишемо елементи його головної форми.

Головне вікно проекту "Послідовна розмальовка графа"

Отже, головна форма delphi-програми ділиться на три частини і складається з панелі інструментів (компонент типу TPanel), графічного редактора (компонент типу TImage) та області виводу резільтатів (компонент типу TMemo):

Читати повністю

Правильне розфарбування вершин графа в середовищі програмування delphi

Під розфарбуванням графа розуміють окремий випадком розмітки його елементів. При цьому, елементам графа ставляться у відповідність мітки з урахуванням певних обмежень, де в якості міток, найчастіше, використовуються натуральні числа або кольори. В даному параграфі зосередимо увагу на delphi-програмні, що реалізує процесу розмальовки вершин графа, а якщо бути більш точним, то процесу розмальовки вершин, при якому будь-яким двом суміжним вершинам відповідають різні кольори. Відмітимо, що в теорії графів, саме таку операцію над вершинами графа і називають правильною розмальовкою вершин.

Отже, головна форма розробленого delphi-проекту складається з панелі інструментів, графічного редактора та області виводу резільтатів.

Головне вікно проекту "Розфарбування вершин графа"

  1. Панель інструментів (компонент типу TPanel): містить чотири кнопки: «Додати вершину» (типу TSpeedButton), «Додати ребро» (типу TSpeedButton), «Видалити граф» (типу TButton) та «Знайти правильне розфарбування графа» (типу TButton). Відмітимо, що серед зазначених кнопок, три відповідають за процес побудови та видалення графа і четверта — реалізує процес розфарбування його вершин (відмітимо, що для реалізації задуманого використовується переборний алгоритм).
  2. Графічний редактор (компонент типу TImage): призначений для побудови та візуалізації неорієнтованого графа, а також візуалізації правильного розфарбування його вершин.
  3. Область виводу результатів (компонент типу TMemo): призначена для виводу мінімального числа кольорів, необхідних для правильного розфарбування графа.

Читати повністю