2015-09-27 14 views
0

Я реализую BST в C++, и я реализовал методы Get(), Add(), Remove() и Contains(). Я знаю, что в некоторых контейнерах есть такие стандарты, как стек, с методами push() и pop(). Но я не мог найти никакого документа о стандартных методах BST?Есть ли стандарт для двоичных методов поиска?

Существуют ли стандартные методы (например, интерфейс) или это зависит от нас?

+0

BST - фактически сортированный набор, вы можете проверить, что предоставляет Java 7 API для TreeSet: https://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html – errikos

+2

' std :: set' является, в первом приближении, двоичным деревом поиска. Вы можете рассмотреть его интерфейс для руководства. –

+0

@IgorTandetnik, который на самом деле heplful, и я думаю, что это ответ для меня. Я сделаю, как вы говорите. – ozgur

ответ

0

В конечном счете, это зависит от вас. C++ не определяет стандартный интерфейс для чего-либо.

Это говорит, что STL перерабатывает имена аксессуаров.

Набор и карта, скорее всего, являются наиболее похожими структурами данных для вашего BST.

Комплект использует insert(), count() сообщает, что набор содержит предмет, erase() удаляет предмет.

Карта использует operator[] (квадратные скобки) и at() для доступа и установки элементов в дополнение к предложению insert(). erase() используется для удаления элемента.

Итак, в этом смысле существует стандартизация, но она специфична для STL и для тех, кто ее подражает. Тем не менее, использование STL широко распространено, поэтому, если бы вы хотели что-то подражать, это было бы так.

+0

Я сделаю это. В конце концов, другие пользователи класса будут знакомы с контейнерами STL. – ozgur

Смежные вопросы