Проект «Построение основного связного дерева графа» на языке Visual Basic
Обработчик события вывода в графическое поле вершин графа
Обработчик события вывода элементов матрицы смежности взвешенного ориентированного графа
Обработчик события вывода элементов матрицы смежности взвешенного неориентированного графа
Обработчик события построения остовного связного дерева минимального веса
В этой процедуре пользователь строит остовное связное дерево минимального веса. Ребро минимального веса выбирается с использованием матрицы смежности неориентированного графа. Ввод номеров вершин ребра минимального веса осуществляется с помощью функции ввода данных InputBox(). Включение или невключение выбранного ребра в остовное дерево производится на основании пункта 3 алгоритма Крускала, который реализуется с использованием функции вывода сообщений MsgBox () и оператора условного перехода в сокращенной форме.
В результате остовное связное дерево минимального веса будет нарисовано в графическом поле, номера его вершин и веса ребер будут выведены в поля списков, суммарный вес ребер будет выведен на надпись.
10. Щелкнуть по кнопке Button4 и в заготовку обработчика события ввести программный код:
На основе анализа матрицы смежности неориентированного графа выберем ребро минимального веса.
11. Осуществить щелчок по кнопке Построение остовного связного дерева минимального веса.
В появившемся диалоговом окне Выбор ребра минимального веса ввести номер первой точки и щелкнуть по кнопке ОK (рис. 1.67).
Рис. 1.67. Ввод первой вершины
12. В появившемся диалоговом окне Выбор ребра минимального веса ввести номер второй точки и щелкнуть по кнопке ОK (рис. 1.68).
Рис. 1.68. Ввод второй вершины
На основе анализа остовного связного дерева в графическом поле выполним пункт 3 алгоритма Крускала и решим вопрос о включении или невключении выбранного ребра в остовное дерево.
13. В появившемся диалоговом окне Включить ребро в остовное дерево? подтвердить или опровергнуть истинность условий щелчком по кнопке Да или по кнопке Нет (рис. 1.69).
Рис.1.69. Включение ребра в остовное дерево
14. Выполнять пункты 11-13 до тех пор, пока остовное связное дерево с минимальным весом не будет построено, т. е. пока все вершины не войдут в связное множество.
В результате (рис. 1.70):
• в графическом поле будет построено остовное связное дерево;
• в полях списка появятся номера вершин и веса соответствующих ребер остовного дерева;
• на надпись будет выведена сумма весов ребер остовного связного дерева минимального веса.
Рис. 1.70. Минимальный вес остовного дерева
Следующая страница Контрольные вопросы