отрезать вершины

From
Egor Tsygvintsev (2:452/77.57)
To
Alexander Chislov
Date
2002-10-09T00:33:05Z
Area
RU.ALGORITHMS
Добрый день, Alexander

 Понедельник Октябрь 07 2002 18:36, Alexander Chislov писал Alexander Shmidt:

 AC> From: Alexander Chislov <arch-vile@rnd.runnet.ru>

 AS>> Есть задачка:
 AS>> Граф, в котором надо удалить как можно меньшее
 AS>> количество вершин так, чтобы
 AS>> оставшиеся вершины никак не были связаны
 AS>> (фактически получается, что никаких
 AS>> ребер не должно остаться).

 AC> Как я понял, граф у тебя неориентированный и вместе с удалением
 AC> вершины удаляются и все инцидентные ей рёбра. Мне пришёл в голову
 AC> жадный алгоритм: на каждом шаге находим вершину, степень которой
 AC> максимальна и удаляем её; заканчиваем работу, как только число рёбер
 AC> станет равным нулю. Имеют вершины вес или не имеют, для данного
 AC> алгоритма, по-моему, даже не важно, т.е. в любом случае получится то,
 AC> что требуется. Теперь только осталось как-нибудь доказать, что он
 AC> является оптимальным... Если не секрет, а где возникла эта задача,
 AC> т.е. к чему ты её применяешь?

проверь на таком тесте:
1 - 2 3 4
2 - 1 5 6
3 - 1 7 8
4 - 1 9 10

твой жадный снесет 4 вершины, хотя достаточно трех!!!

                    Всего доброго,
                    Egor Tsygvintsev.
--- ... Линия отреза ...
 * Origin:  Крепче за шоферку держись, баран!  (2:452/77.57)