Содержание
- 2. Определения G(V,E) - связный неориентированный граф с заданной функцией стоимости, отображающей ребра в вещественные числа. Остовное
- 3. Алгоритм Краскала (Джозеф Крускал, 1956 год) Сортируем ребра графа по возрастанию весов. Полагаем, что каждая вершина
- 4. Время работы: Cортировка рёбер - O(|E|×log|E|) Компоненты связности удобно хранить в виде системы непересекающихся множеств. Все
- 5. Алгоритм Краскала Вход. Неориентированный граф G= (V, Е) с функцией стоимости с, заданной на его ребрах.
- 6. Пример м1 1 3 4 9 23 17
- 7. Получившееся дерево является каркасом минимального веса. Введем массив меток вершин графа Mark. Начальные значения элементов массива
- 9. Алгоритм Прима На каждом шаге вычеркиваем из графа дугу максимальной стоимости с тем условием, что она
- 10. Пример м1 1 3 4 9 23 17 20 15 36 25 28 16
- 11. Алгоритм Прима ( Ярника, Дейкстры ) Алгоритм впервые был открыт в 1930 году чешским математиком Войцехом
- 12. 1) Выбирается произвольная вершина - она будет корнем остовного дерева; 2) Измеряется расстояние от нее до
- 13. 10 2 3 6 1 8 5 7 4 9 1 1 1 2 2 2
- 14. Реализация за O (M log N + N2) Отсортируем все рёбра в списках смежности каждой вершины
- 15. Система непересекающихся множеств (СНМ) Система непересекающихся множеств — это структура данных, которая реализует разбиение множества. Каждое
- 16. СНМ поддерживает следующие операции: MakeSet (x) — добавляет в СНМ новый элемент x, который заносится в
- 17. Простая реализация В этой реализации для каждого элемента множества хранится номер или, другими словами, цвет подмножества,
- 18. Реализация с помощью списков 1 способ. Если хранить множества в виде линейных списков с указателями на
- 19. Весовая эвристика Весовая эвристика — это улучшение простой реализации, в которой следует перекрашивать элементы из множества
- 20. Реализация с использованием дерева
- 21. Применение весовой эвристики (вес вершины – количество узлов в ее поддереве)
- 22. Если размер дерева равен k, то его высота не более ⎣log k⎦ . Доказательство по индукции:
- 23. Эвристика объединением по рангу (ранг вершины – высота ее поддерева)
- 24. При применении ранговой эвристики получаем дерево высоты O(log n) Покажем, что если ранг дерева равен k,
- 25. Эвристика сжатия путей
- 26. Пример реализации СНМ const int MAXN = 1000; int p[MAXN], rank[MAXN]; void makeset (int x) {
- 28. Скачать презентацию