Подтвердить что ты не робот

Ищете библиотеку Java, в которой реализовано двоичное дерево

Есть ли библиотека Java, в которой есть двоичное дерево, которое я могу использовать? Я не с нетерпением жду, чтобы проверить и реализовать свои собственные.

4b9b3361

Ответ 1

Стандартный API Java содержит только библиотеки, которые являются универсально полезными и нетривиальными для реализации. Базовое дерево легко реализовать:

class BinaryTree {
    BinaryTree left;
    BinaryTree right;
    Object value;
}

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

Ответ 2

Как насчет http://docs.oracle.com/javase/6/docs/api/java/util/TreeMap.html

Реализация NavigableMap на основе красно-черного дерева. Карта отсортирована по естественным упорядочение его ключей или компаратором, предоставляемым во время создания карты, в зависимости от того, конструктор используется.