а для орграфа
Для матрицы инциденций n(p,q) = O(pq).
Представление графа с помощью списочной структуры, отражающей смежность вершин и состоящей из массива указателей на списки смежных вершин, где элемент списка представлен структурой
N : record v : 1..p; n :↑ N end record,
называется списком смежности. В случае представления неориентированных графов списками смежности n(p,q) = O(p+2q), а в случае ориентированных графов n(p,q) = O(p+q).
Представление графа с помощью массива структур
E : array [1..q] of record b,e : 1..p end record,
отражающего список пар смежных вершин, называется массивом ребер (или, для орграфов, массивом дуг). Для массива ребер (или дуг) n(p,q) = O(2q).
Развитие теории графов в основном обязано большому числу всевозможных приложений. По-видимому, из всех математических объектов графы занимают одно из первых мест в качестве формальных моделей реальных систем.[4, стр. 12-15]
Графы нашли применение практически во всех отраслях научных знаний: физике, биологии, химии, математике, истории, лингвистике, социальных науках, технике и т.п. Наибольшей популярностью теоретико-графовые модели используются при исследовании коммуникационных сетей, систем информатики, химических и генетических структур, электрических цепей и других систем сетевой структуры.
Далее перечислим некоторые типовые задачи теории графов и их приложения:
- Задача о кратчайшей цепи
замена оборудования
составление расписания движения транспортных средств
размещение пунктов скорой помощи
размещение телефонных станций
- Задача о максимальном потоке
анализ пропускной способности коммуникационной сети
организация движения в динамической сети
оптимальный подбор интенсивностей выполнения работ
синтез двухполюсной сети с заданной структурной надежностью
задача о распределении работ
- Задача об упаковках и покрытиях
оптимизация структуры ПЗУ
размещение диспетчерских пунктов городской транспортной сети
- Раскраска в графах
распределение памяти в ЭВМ
проектирование сетей телевизионного вещания
- Связность графов и сетей
проектирование кратчайшей коммуникационной сети
синтез структурно-надежной сети циркуляционной связи
анализ надежности стохастических сетей связи
- Изоморфизм графов и сетей
структурный синтез линейных избирательных цепей
автоматизация контроля при проектировании БИС
- Изоморфное вхождение и пересечение графов
локализация неисправности с помощью алгоритмов поиска МИПГ
покрытие схемы заданным набором типовых подсхем
- Автоморфизм графов
конструктивное перечисление структурных изомеров для производных органических соединений
синтез тестов цифровых устройств
1.6 Программа определения кратчайшего пути в графе
1.6.1 Язык программирования Delphi
1.6.2 Программа «Определение кратчайшего пути в графе»
Рис. 6. Интерфейс программы
Верхняя панель кнопок предназначена для редактирования графа.
Кнопка «Загрузить» предназначена для загрузки ранее сохраненного графа из файла.
Рис. 7. Кнопка «Загрузить»
Кнопка «Сохранить» предназначена для сохранения графа в файл.
Рис. 8. Кнопка «Сохранить»
Кнопка «Переместить» предназначена для перемещения вершин графа.
Рис. 9. Кнопка «Переместить»
Кнопка «Удалить» предназначена для удаления вершин графа.
Рис. 10. Кнопка «Удалить»
При нажатии на кнопку «Новый» рабочее поле программы будет очищено и появится возможность ввода нового графа.
Рис. 11. Кнопка «Новый»
Кнопка «Помощь» вызывает помощь программы.
Рис. 12. Кнопка «Помощь»
Для очистки результатов работы алгоритма определения кратчайшего пути в графе необходимо нажать кнопку «Обновить».
Рис. 13. Кнопка «Обновить»
При нажатии на кнопку «Настройки» на экране появится окно, в котором можно настроить параметры сетки рабочего поля программы и цвета вводимого графа.
Рис. 14. Кнопка «Настройка»
Окно настроек выглядит следующим образом:
Рис. 15. Окно настроек
Нижняя панель кнопок предназначена для установки параметров ввода и запуска алгоритма определения кратчайшего пути в графе. Данная панель состоит из четырех кнопок:
При включенной кнопке «Показывать сетку» отображается сетка для удобства ввода вершин.
Рис. 16. Кнопка «Показывать сетку»
Для автоматического ввода длины ребра графа необходимо нажать кнопку.
Рис. 17. Кнопка «Автоматический ввод длинны ребра»
При включенной кнопке «Выравнивать по сетке» новые вершины будут автоматически выравниваться по координатной сетке.