http://en.wikipedia.org/wiki/Dominating_setминимальных доминирующего набор ориентированного графа
Теперь у меня есть идея, чтобы найти его, и мне нужно ваше мнение
Первого:
Создание системы ранга на графике, каждая вершина имеет ранг. ранг вершины равен:
2 * [количество затраченных краев] - [число в-кромками]
Второе:
Alter алгоритм DFS: сделать это также вернуть группу всех корней на остовного леса (не изменяет сложность)
алгоритм:
1. старт со всеми вершинами, как минимальный набор доминирующая
2. запустить DFS со стартовой вершины: самый высокий рейтинг вершины
3. Посмотрите на корень в охватывающем лесу, возьмите список минимального доминирующего набора и удалите каждую вершину, которая не является корнем на курорте nning леса
4. Повторите 2-3 со следующим самым высоким рейтингом вершины который остался на минимальном доминировании установить
5. стоп, когда вы запускали ДФС на каждой вершине по минимальному доминированию установить
6. Возвращение его
Я использую adj-list, поэтому DFS - O (| V | + | E |) Что вы думаете об этом алгоритме? это будет работать? могу ли я лучше? Каков амортизированный наихудший случай этого алгоритма?
В ориентированном графе смежность подразумевает направленное ребро от не доминирующей вершины до доминирующей вершины? – user2963623
нет, доминирующий набор - группа вершин, которая:
для каждой вершины v выполняется хотя бы одно условие:
1. v находится в доминирующем наборе
2. направленный путь от одной из доминирующих вершин до v –
что? Я не дал доказанного алгоритма, его просто идею, и я хотел услышать, что люди думают об этом, LOL еще не использует его :) –