Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритмы на графах, Какие алгоритмы вы знаете... 
:(
    Опции темы
dvs
Дата 3.6.2005, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Владимир Драпалюк
**


Профиль
Группа: Участник Клуба
Сообщений: 660
Регистрация: 25.8.2003
Где: Воронеж->Москв а

Репутация: нет
Всего: 19



Какие алгоритмы работы с графами вам известны?
Мне пока известны такие:
1. Нерекурсивный поиск в глубину
2. Рекурсивный поиск в глубину
3. Нерекурсивный поиск в ширину
4. Рекурсивный поиск в ширину
5. Алгоритм Дейкстры
6. Алгоритм Форда-Беллмана
7. Алгоритм Флойда
8. Эйлеровы пути
9. Гамильтонов путь. Алгоритмы с возвратом
10. Топологическая сортировка
11. Остовное дерево наименьшей стоимости, алгоритмы Прима и Краскала
12. Транзитивное замыкание, алгоритм Воршалла
13. Выделение компонент связности

Возможно, это не все, что мне известно, но это то, что вспомнил.
Кто-нибуть знает еще?
Идеальный вариант:
1. Суть алгоритма(описание и(или) блок-схема), где и для чего используется.
2. Пример, круто, если на паскале... Но можно и на Си.

Нужно их собрать в кучу. smile
1-13 пункты, думаю, что скоро смогу оформить и выложить.



--------------------
Любите друг друга!
PM MAIL WWW ICQ   Вверх
batigoal
Дата 3.6.2005, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: нет
Всего: 151



Делал когда-то курсовик на тему ориентированного графа со взвешенными ребрами, но выкладывать не буду - кривой. smile А алгоритмы брал из книги "Структуры данных в С++".


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
borisvolfson
Дата 3.6.2005, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 3.2.2005

Репутация: 2
Всего: 3



Посмотри у меня на сайте Домашняя страничка Бориса Вольфсона есть сборник исходников по графам, там реализации алгоритмов (некоторые с подробными комментариями) на паскале (некоторые на С++)...

Содержание примерно следующее (краткий список smile ):

# Поиск в ширину (BFS)

* Порядок обхода вершин при поиске в ширину
* Лес поиска в ширину
* Определение кратчайшего пути

# Поиск в глубину (DFS)

* Точки сочленения
* Двусвязные компоненты
* Проверка двудольности графа
* Поиск мостов
* Поиск компонент связности
* Поиск цикла в графе
* Порядок обхода вершин при поиске в глубину
* Определение типа ребер при поиске в глубину
* Лес поиска в глубину
* Проверка графа на связность
* Проверка вершин на связность
* Поиск в глубину на списках смежных вершин
* Нерекурсивный поиск в глубину (со стеком)
* Нерекурсивный поиск в глубину (со выделенным стеком)
* Восстановление пути при поиске в глубину
* Порядок обхода вершин при поиске в глубину (до захода в рекурсию и при выходе из рекурсии)
* Поиск в губину с занесением вершин в стек в порядке их обхода

# Ориентированные графы

* Определение типа ребер при поиске в глубину
* Проверка на ацикличность (DAG)
* Построение транзитивного замыкание алгоритм Уоршалла

# Потоки в сетях

* Поиск максимального потока методом Форда-Фалкерсона, алгоритмом Эдмондса-Карпа с поиском аугментального пути поиском в ширину
* Визуализатор предыдущего алгоритма
* Поиск максимального потока методом Форда-Фалкерсона с поиском аугментального пути алгоритмом Дейкстры (вес ребра равен пропускной способности)
* Поиск максимального потока методом Форда-Фалкерсона с поиском аугментального пути алгоритмом Дейкстры (вес ребра равен неиспользованно пропускной способности)
* Поиск максимального потока методом выталкивания превосходящего потока.
* Генератор случайных графов для алгоритмов поиска максимального потока в сети.

# Паросочетания

* Поиск максимального паросочетания в двудольном графе

# Минимальные остовные деревья (MST)

* Поиск минимального остовного дерева алгоритм Прима
* Поиск минимального остовного дерева алгоритм Прима с очередью по приоритетам
* Поиск минимального остовного дерева алгоритм Прима (вариант Седжвика)
* Поиск минимального остовного дерева алгоритм Прима на списках смежных вершин
* Поиск минимального остовного дерева алгоритм Прима на списках смежных вершин с очередью по приоритетам
*

# Представления графа в памяти компьютера

* Матрица смежности
* Списки смежных вершин

# Кратчайщие пути

* Поиск кратчайшего пути от одной вершины до остальных алгорит Дейкстры (матрица смежности)
* Поиск кратчайшего пути от одной вершины до остальных алгорит Дейкстры (списки смежных вершин)
* Поиск кратчайшего пути от одной вершины до остальных алгорит Дейкстры (матрица смежности) с очередью по приоритетам
* Поиск кратчайшего пути от одной вершины до остальных алгорит Дейкстры (списки смежных вершин) с очередью по приоритетам
* Поиск кратчайшего пути между всеми парами вершин алгоритм Флойда
* Генератор случайных графов для алгоритмов поиска кратчайших путей.

# Структуры данных

* Индексированная чередь по приоритетам на базе многопозиционного дерева
* Индексированная очередь по приоритетам на базе бинарного дерева


PM MAIL   Вверх
poor_yorik
Дата 3.6.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 12.1.2005
Где: Общаги г. Киева

Репутация: 3
Всего: 8



Я тебе єтих тем тыщу могу дать...
+ Алгоритм наименьшего паросочитания в двудольном графе.
+ Алгоритм назначения и назначения на узкое место.
+ Алгоритм оптимального потока.
+ Выделение сильных компонент связности и мостов.
+ Алгоритмы разукрашивания графов.
Алгоритмов очень много. Большинство из них можно найти в книге Критофидеса
Графы. Алгоритмеческий подход.
Его книгу можно найти здесь.
http://www.caravan.ru/~alexch/graphs/L78.htm

Также для пополнения знаний предлагаю зайти на сайт
algolist.manual.ru
--------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай...
PM MAIL YIM   Вверх
SoWa
Дата 3.6.2005, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Забыли про бинарные графы:
-Построение бинарного дерева
-Сортировка бинарного дерева
-Поиск в бинарном дереве


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
borisvolfson
Дата 4.6.2005, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 3.2.2005

Репутация: 2
Всего: 3



poor_yorik
Очень интересно, что за алгоритм поиска минимального паросочетания... может все-таки максимального?
Еще очень интересует, что за алгоритм "назначения на узкое место".
Алгоритм оптимального потока - я так понимаю это задача о максимальном потоке, а какой конкретно алгоритм используется? Меня очень интересуют современные алгоритмы решения этой задачи.


SoWa
Хотелось бы уточнить терминологию, что вы понимаете под бинарным графом, просто такого термина я еще не встречал.

Это сообщение отредактировал(а) borisvolfson - 4.6.2005, 18:33
PM MAIL   Вверх
poor_yorik
Дата 5.6.2005, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 12.1.2005
Где: Общаги г. Киева

Репутация: 3
Всего: 8



borisvolfson , с паросочетанием и вправду сглупил, извиняюсь!! smile
А насчет назначения на узкое место могу рассказать. Я так понял тебе известен алгоритм назаченя. То есть дан двудольный граф, всем его ребрам приписан некоторый вес, надо найти такое паросочетание, чтобы сумма весов всех выбраных ребер была максимальной (минимальной). Так в задаче о назначениях на узкое место нужно найти такое паросочетание, чтобы минимальный вес ребра, вошедшего в паросочетание, был максимален.
Решение задачи, похоже на задачу о назначениях. Его можно найти по уже указнной мною ссылке.
--------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай...
PM MAIL YIM   Вверх
borisvolfson
Дата 5.6.2005, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 3.2.2005

Репутация: 2
Всего: 3



poor_yorik
А ссылку можно? smile smile smile
PM MAIL   Вверх
poor_yorik
Дата 6.6.2005, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 12.1.2005
Где: Общаги г. Киева

Репутация: 3
Всего: 8



Короткое описание алгоритма здесь
http://rain.ifmo.ru/cat/view.php/vis/graph...-2002/algorithm
На этом же сайте находяться визуализаторы, которые показывают дествие алгоритма в пошаговом режиме. Лучше скачать визуализатор 1999 года. smile
--------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай...
PM MAIL YIM   Вверх
borisvolfson
Дата 6.6.2005, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 3.2.2005

Репутация: 2
Всего: 3



Знаю хороший сайт. Спасибо.
PM MAIL   Вверх
SoWa
Дата 6.6.2005, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Как?! Не встречать бинарного дерева?
Это Граф-дерево, у каждого отца которого только два потомка, причем каждый из потомков меньше, чем отец.
Там кучи алгоритмов построения таких графов, их сотрировки, поиска в них.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
dvs
Дата 6.6.2005, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Владимир Драпалюк
**


Профиль
Группа: Участник Клуба
Сообщений: 660
Регистрация: 25.8.2003
Где: Воронеж->Москв а

Репутация: нет
Всего: 19



Пожайлуста, прекратите оффтоп.
Создайте тему в "Религиозных войнах" и решайте проблемы там. smile


--------------------
Любите друг друга!
PM MAIL WWW ICQ   Вверх
borisvolfson
Дата 7.6.2005, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 3.2.2005

Репутация: 2
Всего: 3



SoWa
Просто в программировании обычно бинарные деревья относят к структурам данных, а не к графам, а в математике наоборот.
dvs15
Можешь сказать, какие конкретно алгоритмы тебя интересуют, я могу посмотреть в своих запасниках...
PM MAIL   Вверх
Snezhana999
Дата 20.12.2011, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.12.2011

Репутация: нет
Всего: нет



У кого-нибудь есть реализованный алгоритм поиска связных компонент графа?
PM MAIL   Вверх
maxim1000
Дата 21.12.2011, 06:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Snezhana999, лучше создать новую тему
и, наверное, Центр помощи больше подойдёт


--------------------
qqq
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1124 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.