|
Минимальное время обхода всех вершин графа
| ☑ |
0
Fannasankh
01.02.17
✎
09:11
|
Имеется произвольный неориентированный граф, из любого узла в соседние может распространяться сигнал. Время перехода сигнала в соседние узлы всегда равно 1 вне зависимости от количества связей. Требуется определить минимально необходимое время для распространения сигнала во все узлы. Начинать можем с любого узла.
Кто подскажет более менее оптимальный алгоритм?
|
|
1
Naf2017
01.02.17
✎
09:52
|
Давай на примерах
Для таких графов каково минимальное время?
|
|
2
Redkiy
01.02.17
✎
10:10
|
(0) Дискретная математика.
Алгоритмов туча, выбирай любой: волновой, Дейкстры, Форда-Беллмана...
|
|
3
Fannasankh
01.02.17
✎
11:35
|
(1) 1
|
|
4
Fannasankh
01.02.17
✎
11:36
|
(2) Дейкстры реализовывал, оказался недостаточно оптимальным. Это задачка с одного сайта, там онлайн проверка решения
|
|
5
Fannasankh
01.02.17
✎
11:38
|
(4) Ну я его модифицировал, так как нужно было найти максимальный путь по сути, причем из любой вершины
|
|
6
alexey123perm
01.02.17
✎
11:56
|
Для задачи в шапке:
Волна из каждой вершины плюс контроль, посещали ли мы эту вершину до этого (можно сделать как массив bool[N], где N количество вершин). Сложность N^3. Смотрите, уложитесь или нет. Если граф без циклов, то можно можно посмотреть и другие алгоритмы.
Дейкстры в данном случае не оптимален за счет выбора след. вершины с мин. весом. На это тратится время, а если "сайт с онлайн-проверкой", скорее всего, что есть ограничение по времени работы программы.
Для "нужно было найти максимальный путь по сути, причем из любой вершины" может и не заработать.
|
|
7
Fannasankh
01.02.17
✎
14:37
|
(6) попробую
|
|
8
Fannasankh
01.02.17
✎
17:10
|
(6) сейчас почитал, по сути я и делал волну, а не Дейкстры. Но не уложился во время.
|
|