- •Министерство образования и науки российской федерации
- •1.1. Основные операции над многомерными матрицами
- •1.1.5. Кронекеровское произведение многомерных матриц
- •1.1.6. Обращение многомерной матрицы
- •Лабораторная работа № 2
- •Лабораторная работа № 3 Кратчайший остов графа Теоретическая часть
- •3.1. Понятие дерева
- •3.2. Алгоритм построения всех остовных деревьев графа на основе полного перебора последовательностей ребер или дуг
- •3.3. Определение кратчайшего остова неориентированного графа на основе упорядочения ребер графа (алгоритм Краскала)
- •3.4. Построение кратчайшего остовного дерева с помощью алгоритма Прима в табличной форме
3.4. Построение кратчайшего остовного дерева с помощью алгоритма Прима в табличной форме
По заданному графу заполняется матрица весов W(N,N). Веса несуществующих ребер предполагаются сколь угодно большими. Образуется массивP(N) меток вершин графа (столбцов матрицы весов). Алгоритм решения задачи заключается в последовательном заполнении массива меток столбцов и состоит из следующих этапов.
Предварительный этап. Обнуляется массивP(N) меток столбцов таблицы. Произвольно выбранному столбцу присваивается значение метки, равное его номеру.
Этап, повторяющийся N-1 раз (общий этап).В строках, номера которых равны номерам помеченных столбцов, находится минимальный элемент среди элементов непомеченных столбцов. Столбец, в котором находится минимальный элемент, помечается меткой, номер которой равен номеру его строки. В случае если минимальных элементов несколько, то выбирается любой. После помечивания очередного столбца элементу, симметричному относительно главной диагонали (для многомерного графа - с ”транспонированными индексами”), присваивается сколь угодно большое значение.
Заключительный этап.Ребра, включенные в минимальное остовное дерево, определяются по меткам столбцов. Вес остовного дерева задается суммой весов входящих в него ребер.