Графы
|
Студент Сообщения: 445 |
Профиль | Отправить PM | Цитировать Кто-нибудь может мне поведать, что такое компоненты двусвязности, как их выделять, и как выделять компоненты рёберной двусвязности? В моей книжке это прокомментировано слишком коротко. "Описанное разбиение графа может быть осуществлено с помощью обхода вглубину, аналогично поиску обычных компонент двусвязности графа [Липский 88, п. 2.6]."
|
|
------- Отправлено: 12:56, 09-12-2001 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Цитирую свою любимую книжку по алгоритмам( "Алгоритмы: построение и анализ" ) :
Цитата:
Точки раздела и мосты изображены тёмно серым. Двусвязные компоненты -- наборы рёбер в пределах одной серой области ( внутри которой указан номер двусвязной компоненты ). |
|
------- Отправлено: 16:07, 09-12-2001 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Студент Сообщения: 445
|
Профиль | Отправить PM | Цитировать ivank
Допустим с определениями ясно, а как насчёт алгоритмов? Как же именно обходом в глубину ищутся такие компоненты двусвязности? |
------- Отправлено: 17:19, 09-12-2001 | #3 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать noname00.pas
Честно говоря, не знаю -- в книге нет, сам никогда этим не интересовался. Поэксперементирую на досуге. О результатах доложу. (Отредактировал(а) ivank - 21:43 - 9 Дек., 2001) |
------- Отправлено: 00:42, 10-12-2001 | #4 |
Студент Сообщения: 445
|
Профиль | Отправить PM | Цитировать ivank
А-а-а... Ну-ну - У тебя Липский есть? |
|
------- Отправлено: 01:16, 10-12-2001 | #5 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать noname00.pas
Цитата:
Зато я кажись нашёл как можно находить двусвязные компоненты: Псевдокод на C++( паскаля не знаю ), надеюсь поймёшь что там написано. Завтра постараюсь проверить работает или нет (Отредактировал(а) ivank - 0:37 - 11 Дек., 2001) |
|
------- Отправлено: 01:50, 10-12-2001 | #6 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Забыл сказать: вызывать надо find_biconnected_components.
|
------- Отправлено: 01:52, 10-12-2001 | #7 |
Студент Сообщения: 445
|
Профиль | Отправить PM | Цитировать ivank
Спасибо, разберусь когда время будет... |
------- Отправлено: 18:27, 10-12-2001 | #8 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать noname00.pas
Не. Там есть ошибка. Сейчас работаю над её устранением... |
------- Отправлено: 23:53, 10-12-2001 | #9 |
Студент Сообщения: 445
|
Профиль | Отправить PM | Цитировать ivank
Так... А вот теперь я зашёл в тупик. Чем отличается двусвязность от рёберной двусвязности? Компонента двусвязности - максимальный набор рёбер, такой, что любые два входят в простой цикл. Компонента рёберной двусвязности - максимальный набор вершин и рёбер, причем не содержащий ни одного моста. Если есть какой-то набор рёбер, удовлетворяющий первому определению, то понятно, что мостов в нём быть не может. С другой стороны понятно, что если в каком-то наборе нет мостов, то между любыми двумя вершинами есть по крайней мере два пути, а значит по двум рёбрам одной компоненты ребёрной двусвязности можно провести простой цикл. А в чём тогда разница между двусвязностью и рёберной двусвязностью? Или дело всё в том, что компоненты рёберной двусвязности вотличии от компоненты двусвязности содержат ещё и вершины? Но ведь любому ребру из компоненты двусвязности можно взаимооднозначно сопоставить набор рёбер... А зачем тогда два различных понятия? Или я что-то напутал? |
------- Отправлено: 01:40, 11-12-2001 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
|