![]() |
|
|
![]()
|
|
| hiHo |
|
|||
|
Unregistered |
Нужен алгоритм поиска в графе вершины из которой достижимы все вершины. (BFS по каждой вершине не предлагать). |
|||
|
||||
| yaja |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 30.3.2005 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Делаешь DFS от любой вершины, запоминая для каждой из низ время, когда ты из неё выходишь
После чего проверяешь(есче DFS) вершину с самым большим временем выхода. ИМХО заработает |
|||
|
||||
| eskaflone |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 5.11.2005 Репутация: нет Всего: 3 |
судя по всему граф ориентированный.
алгоритм за О(n^3) устроит? |
|||
|
||||
| yaja |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 30.3.2005 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Ну наверное ты предложишь DFS или BFS от каждой вершины, ну или модернизацию этого. А то, что я предложил работает за O(E + V), т.е в худшем случае (если граф представлен в виде матрици) за O(n*n) |
|||
|
||||
| eskaflone |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 5.11.2005 Репутация: нет Всего: 3 |
1)время выхода это количество посещенных вершин?
2)DFS от любой вершины или от всех? опиши алгоритм подробнее. ЗЫ DFS - поиск в глубину? |
|||
|
||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
может быть приведете док-во, а то фраза имхо заработает, лишает надежд. -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
| poor_yorik |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 12.1.2005 Где: Общаги г. Киева Репутация: 3 Всего: 8 |
Есть такой умный метод.
Находишь все компоненты сильной связности графа Г. Далее строишь граф Г1 у которого: ! вершинам соответствуют компоненты сильной связности графа Г. ! ребро (а, в) означает, что из соответствующей компоненты сильной связности а можно попасть в компоненту в. Если Г1 связный и у него одна вершина Y, в которую не входит ни одно ребро, то задача имеет решение. Ответом будут все вершины компоненты сильной связности, которая соотвествовала вершине Y. Умный метод. Но легче ничего не нашлось. --------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай... |
|||
|
||||
| yaja |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 30.3.2005 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Заметим, что если из а - достижимы все вершины, то и из любой в, из которой достижима а, будут достижимы все вершины графа. Тогда из свойств dfs'а и из некоторых интуитивных соображений poor_yorik Твой метод будет работать только на неориентированном графе (а насколько я понял граф ориентированный, иначе можно было бы только один раз запустить dfs) На ориентированном графе он работать не будет. Вот пример(граф задан списком ребер: первая вершина - начало ребра) 0 1 1 2 В нем три компоненты сильной связности, поэтому твой метод выдаст, что требуемой вершины не существует, а на самом деле такая вершина сушествует - 0 вершина Это сообщение отредактировал(а) yaja - 20.11.2005, 23:37 |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |