Читайте также: |
|
· Все ребра(дуги) перенумеровываются.
· Составляются различные перестановки последовательности номеров ребер или дуг.
· Строится дерево. Если очередное ребро (дуга) увеличивает дерево, оно включается в дерево, если ребро приводит к образованию цикла, то оно вычеркивается. Если дуга образует два пути в одну вершину, то она вычеркивается. Если ребро(дуга) не увеличивает дерево, то оно вносится в список «пропущенное ребро».
· После каждого включения ребра(дуги) дерева просматривается список «пропущенное ребро». После использования пропущенного ребра оно вычеркивается из списка. Ребро вычеркивается из списка «пропущенное ребро» также и в том случае, если пропущено ребро(дуга) приводит к образованию цикла (для неориентированного графа) или к двум путям (ориентированный граф).
· Пункт 3-4 повторяется, для того, чтобы убедиться в том, что полученное дерево – остовное дерево для ориентированного графа.
· Новое дерево заносится в память.
· Если число остовных деревьев меньше максимального, то перейти к пункту 3.
1. Все ребра пронумеруем.
2. а)а1 а2 а3 а4 а5 а6 а7 а8 а9 а10
б)а6 а7 а8 а9 а10 а1 а2 а3 а4 а5
а) х2 а2 б) х2 а2
а1 х3 а1 х3
х1 а3 х1
а5 х4
х4 х5
а9 а7 а9 а7 а6
х6 х5
х6
х7
х7
Для получения кратчайшего остовного дерева необходима длительность ребер(дуг) выставить по возрастанию и построить остовное дерево.
Дата добавления: 2015-08-21; просмотров: 254 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Решение задачи о кратчайшем пути в графе на основе ЛП | | | Алгоритм Прима определение минимального остовного дерева(случай многоуровнего графа) |