Учебное пособие C#. Алгоритмы и структуры данных н. А. Тюкачев, В. Г. Хлебостроев издание третье, стереотипное 1 / 23


 П РОЕКТ ДЛЯ АЛГОРИТМОВ НА ГРАФАХ


Download 1.85 Mb.
Pdf ko'rish
bet71/111
Sana19.11.2023
Hajmi1.85 Mb.
#1786905
TuriУчебное пособие
1   ...   67   68   69   70   71   72   73   74   ...   111
Bog'liq
C# Алгоритмы и структуры данных 2018 Тюкачев, Хлебостроев

5.2. П
РОЕКТ ДЛЯ АЛГОРИТМОВ НА ГРАФАХ
 
Для иллюстрации алгоритмов работы с графами удобно использовать 
их наглядное представление. Поэтому начнем наше изложение с описания 
проекта, реализующего подобное представление для графов. Проект состоит 
из главной формы FormGraph, шести вспомогательных форм FormProp-
ertyGraph
, FormListBox, FormMatr, FormTools, FormViewGraph и 
модуля LibGraph, в котором собраны структуры данных и все алгоритмы 
для графов (рис. 5.1). 
Рис. 5.1. Структура проекта 
Изображение графа строится на форме FormGraph и выполняется в 
трех видах: в виде прямоугольников, соединенных ломаными линиями 
(рис. 5.2); в виде окружностей, соединенных прямыми линиями (рис. 5.3); в 
виде прямоугольников типа верхней полосы формы (рис. 5.1). Переключение 
типа графа происходит на форме FormViewGraph. На форме FormTools 
находятся три инструментальные кнопки, позволяющие добавлять и переме-
щать узлы, создавать дуги. Форма FormMatr показывает матрицу смежно-
21 / 23


137 
сти, а с помощью формы FormPropertyNode можно задавать свойства 
любого узла. 
Рис. 5.2. Проект для алгоритмов на графах, узлы – прямоугольники 
Рис. 5.3. Проект для алгоритмов на графах, узлы – окружности 
22 / 23


138 
5.2.1. С
РУКТУРА СТЕК ДЛЯ ОБРАБОТКИ ГРАФОВ
 
Многие алгоритмы на графах требуют помещать данные в стек или в 
очередь. Напомним, что стек — это последовательность однотипных элемен-
тов, в которую можно включать новые элементы и удалять из нее элементы 
по принципу LIFO «последним пришел – первым вышел», т. е. первым уда-
ляется элемент, который был добавлен последним. Очередь – это последова-
тельность однотипных элементов, в которую можно включать новые элемен-
ты и удалять из нее элементы по принципу FIFO «первым пришел – первым 
вышел». Мы выберем наиболее простой механизм этих структур, основан-
ный на массиве, объединив в одном классе и стек, и очередь (листинг 5.1). 

Download 1.85 Mb.

Do'stlaringiz bilan baham:
1   ...   67   68   69   70   71   72   73   74   ...   111




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling