vvm_graph_applet16.graph.class will appear below in a Java enabled browser.
Граф появится если в вашем броузере включена поддержка java.
Задача нахождения кратчайшего пути в графе.
Несколько улучшенный аплет. В нем я написал проверку условий существоания выбранных
узлов.
Добавил поле вывода для наглядности.
Добавил классы Минимальное оставное дерево и класс каймы.
Добавил кнопку нахождения пути, кнопка пока не работает, она там пытается что
то делать, в эти классы
оставного дерева и классы каймы что то бессмысленно заносит.
Еще доработал прорисовку ребер, теперь они удалятся вместе с узлом.
При остановке апплета и добавлении нового узла , узел добавляется (раньше сразу
не добавлялся).
Сделал обновление прорисовки окна при удалении узла.
Ребра я покрасил в синий и желтый цвет. Устранил побочный эффект, когда одно
ребро не красилось.
Текущий узел я покрасил в зеленый, предыдущий узел в желтый.
То есть первый выбранный узел - это начало пути, второй выбранный узел это пункт
назначения.
Программа будет находить кратчайший путь между выбраными двумя узлами.
Текущий узел зеленый, ребра вокруг текущего узла желтые.
Начальный узел желтый, ребра вокруг начального узла зеленые.
Начальный узел сразу заносится в объект минимального оставного дерева,
а зеленые ребра сразу заносятся в кайму.
Для нахождения кратчайшего пути осталось написать цикл построения каймы и минимального
оставного дерева.
Ну и покрасить кратчайший путь каким нибудь цветом, например красным.
Сфера применения: данная программа может использоваться для проектирования
высоконадежных средств
доставки воды, газа, нефти, линий электроснабжения,тепловых линий, коммуникационных
линий, транспортных линий,
проектировании электронных схем, а также
расчета минимальной стоимости проезда из одного пункта в другой, расчета кратчайшего
расстояния и времени
пути из одного пункта в другой, для расчета минимального пути для перевозок
грузов, для расчета минимальной стоимости
доставки грузов.
Сфера применения очень обширна при соответсвующей адаптации программы и может
применяться для проектирования
в различных областях.
// на данный момент программа не ищет кратчайший путь
// она при нажатии на кнопке findPath
// выводит путь через заданные узлы
// я сделал это для теста вывода пути
// теперь нужно сравнивать их длинны чтоб найти минимальные
// во всяком случае отрисовка по заданным точкам уже есть
© vvm@narod.ru