JUNG - Как получить гигантский связанный компонент графа? - PullRequest
3 голосов
/ 25 августа 2011

В настоящее время я делаю следующее:

WeakComponentClusterer<Integer, String> wcc = new WeakComponentClusterer<Integer, String>();
Collection<Graph<Integer,String>> ccs = FilterUtils.createAllInducedSubgraphs(wcc.transform(graph),graph);

Проблема в том, что в ccs хранятся все подключенные компоненты, но я просто хочу гигантский (GCC).Так как порядок кластеров в css коллекции не определяется их размером, мне нужно перебрать всю коллекцию, чтобы найти гигантский кластер.Плохо то, что график, который я использую, огромен и имеет много кластеров;Итак, эта итерация стоит дорого.

Поскольку я новичок в JUNG, мне просто было интересно, есть ли быстрый способ получения GCC графика.Любая помощь действительна.

1 Ответ

3 голосов
/ 25 августа 2011

Вероятно, самый простой способ решить вашу проблему - это взломать WeakComponentClusterer, чтобы он отслеживал размеры компонентов (или того, какой из них был наибольшим, поскольку это то, что вас интересует) при их конструировании.и затем предоставил эту информацию пользователю.

Это изменение, которое мы могли бы сделать в какой-то момент, но вам достаточно легко включить его в локальную копию кода.

...