Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Остовное дерево наименьшей стоимости (минимального веса)Поиск на нашем сайте Остовное дерево наименьшей стоимости (минимального веса) Пусть G = (V, Е) — связный взвешенный неориентированный граф, для которого задана матрица смежности, отображающая веса ребер в числа (вещественные или целые). Стоимость (вес) остовного дерева определяется как сумма стоимостей (весов) его ребер. Цель — найти для графа G остовное дерево наименьшей стоимости (минимального веса). Полный граф с n вершинами содержит n n-2 остовных деревьев. Поиск каждого остовного дерева занимает О(е) времени. В полном дереве е=п*(п-1)/2. Тогда решение задачи перебором имело бы сложность О(n n-2 п(п - 1)/2) =O (n n). Алгоритм Крускала Пусть имеется связный взвешенный граф G = (V, Е) с n вершинами. Построение остовного дерева минимального веса начинается с графа Т =(V, 0) Упорядочим ребра множества Е в порядке возрастания их веса (стоимости). Выберем ребро с наименьшим весом С1 и включим в граф Т. Теперь в графе Т (п - 1) компонент содержит только по одной вершине, одна компонента содержит две вершины и одно ребро. Выбираем следующее наименьшее ребро. Если оно связывает две вершины из разных компонент, то это ребро добавляется в граф Т. Если же ребро связывает две вершины из одной компоненты, то такое ребро отбрасывается, так как его добавление в связную компоненту, являющуюся свободным деревом, приведет к образованию цикла. Когда все вершины графа будут принадлежать одной компоненте, построение остовного дерева минимального веса Т с (п - 1) ребрами заканчивается. Процесс построения остовного дерева минимального веса можно проследить на примере графа, приведенного на рис.2.
рис 2. Алгоритм Прима Наиболее простым алгоритмом поиска остовного дерева минимального веса является алгоритм Прима. Алгоритм Прима заключается в следующем. 1. Вначале выбираем некоторую вершину v, остальные (n - 1) вершины графа отмечаются как невыбранные. 2. Определяются веса между выбранной вершиной v и остальными невыбранными вершинами. 3. Выбираем вершину с наименьшим весом до нее, фиксируем выбранные ребро и вес. 4. Выбранную вершину исключаем из перечня невыбранных, число выбранных вершин уменьшаем на 1. 5. Пункты 1 — 4 повторяем до тех пор, пока не будут выбраны все вершины, т.е. (n - 1) раз. Процесс поиска остовного дерева наименьшего веса по алгоритму Прима можно проследить на примере графа, приведенного на рис. 3.
рис. 3
|
||
|
Последнее изменение этой страницы: 2024-07-06; просмотров: 31; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.008 с.) |