Может кто-нибудь объяснить, когда использовать граф в гуаве и когда использовать граф в jung 2.1.1? - PullRequest
0 голосов
/ 15 января 2020

Я новичок в использовании JUNG и гуавы. Я пытаюсь использовать графики JUNG 2.1.1, но я узнал, что он использует com.google.common.graph. Скажите, пожалуйста, какой интерфейс хорош, и в чем различия (если есть)?

import com.google.common.graph.Graph или import edu.uci.ics.jung.graph.Graph;

Syed

1 Ответ

0 голосов
/ 18 января 2020

JUNG 2.1.1 имеет свой собственный тип графика: edu.uci.ics.jung.graph.Graph

Снимок JUNG 3.0 (еще не выпущен, но в настоящее время находится в начале Github repo ) использует тип графика Guava : com.google.common.graph.Graph (и его родственные типы ValueGraph и Network).

Я отвечаю как за поддержку JUNG (и был одним из первоначальных архитекторов), так и за пакет common.graph (который я созданный и разработкой которого я руководил).

Если вы просто хотите использовать тип графа и будете в основном писать свой собственный код для работы с ним, я бы использовал типы графов Guava; мы все еще разрабатываем этот API, но он (IMO) гораздо лучше; отчасти это основывалось на анализе конструктивных особенностей графовой модели JUNG (за многие из которых я отвечал).

Если вам нужны некоторые из расширенных возможностей, которые JUNG предоставляет, пакет Guava для common.graph не делает ' t включают (алгоритмы, визуализация и т. д. c.), тогда у вас есть выбор:

(1) Если вы хотите, чтобы библиотека не изменялась, используйте JUNG 2.1.1. У него есть некоторые известные ошибки, которые не будут исправлены в 2.x.

(2) Если вы хотите использовать библиотеку, которая еще не полностью выпечена, вы можете воспользоваться JUNG 3.0 из GitHub и использовать его настройку сборки для создания необходимых jar-файлов. JUNG 3.0 обладает практически всеми возможностями JUNG 2.1.1 и имеет значительно улучшенную архитектуру.

Надеюсь, это поможет.

...