![]() |
![]() |
virt |
![]() ![]()
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: ![]() ![]() ![]() |
Графы можно представлять в виде множества вершин и множества соединяющих их ребер. (Города и дороги их соединяющие)
1. Просмотр вершин графа в некотором фиксированном порядке. общие структуры данных : const Maxn=100; поиск в глубину :
Поиск в ширину: procedure Pw(v:integer); 2. Каркасы (стягивающие деревья) const Maxn=100; Построение стягивающего дерева поиском в глубину: procedure Tree_Depth(v:integer); Построение стягивающего дерева поиском в ширину: procedure Tree_Width(v:integer); Построение всех каркасов графа: const Maxn=100; Построение минимального каркаса методом Краскала: (Исправлено. Присоединенный архив перезалит) Граф задан списком ребер с указанием их весов: program minim_tree_kraskal; Построение минимального каркаса методом Прима: procedure solve; Сообщение отредактировано: volvo - 13.01.2009 11:36 Прикрепленные файлы ![]() -------------------- |
![]() ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Поиск кратчайших путей.
Алгоритм Флойда Описание алгоритма: Над матрицей A (NxN) выполняется n итераций. После k-ой итерации, A[i,j] содержит значение наименьшей длинны путей из вершины i в вершину j, которые не проходят через вершины с номером, большим k. На k-ой итерации для вычисления матрицы A, используется слудующая формула: Ak[i,j] = min (Ak-1[i,j], Ak-1[i,k]+ Ak-1[k,j]). Графическая интерпретация формулы: ![]() Сложность алгоритма Время выполнения программы, имеетпорядок O(n3), так как в ней нет практически ничего, кроче 3 вложенных друг в друга циклов. Сохранение маршрутов. Что бы сохранять маршруты, от одной вершины кдругой, следует, ввести еще одну матрицу, в которой каждому элементу P[I,j]присваивать вершину K (номер), полученную при нахождении наименьшего значения a[I,j]. Const В программе C-граф, заданный матрицей смежности. A- матрица содержащая кратчайшие пути. P - матрица, сохраняющая маршруты. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 4.07.2025 19:18 |