У меня есть эти данные, которые являются иерархическими и поэтому хранят его в дереве. Я хочу предоставить ему функцию поиска. Должен ли я создать для этого двоичное дерево? Я не хочу иметь тысячи узлов дважды. Разве нет какого-то дерева, которое позволяет мне хранить данные в указанном порядке, а также предоставлять мне двоичное дерево, например, эффективную поисковую установку, с небольшими накладными расходами?Поиск данных, хранящихся в дереве
Любое другое предложение по структуре данных также будет оценено.
Спасибо.
EDIT:
Некоторые детали: Дерево очень просто «ручной» дерево, которое можно считать очень очень простой. Дело в том, что есть тысячи имен и другого текста, которые будут введены как данные, которые я хочу искать, но я не хочу проходить по узлам традиционным способом и нуждаться в быстром поиске, таком как двоичный поиск.
Также важно, чтобы пользователь должен был видеть структуру, в которую он ввел, и НЕ отсортированный. Поэтому я не могу его сортировать, чтобы поддерживать поиск. Вот почему я сказал, что не хочу иметь тысячи узлов дважды.
Почему вы считаете, что вам понадобятся узлы в два раза? Когда вы говорите «Я храню его в дереве» - какое дерево? Что мешает вам напрямую искать это? В принципе, требуется больше деталей. –
Это не должно быть двоичное дерево. Это должно быть дерево [* search * tree] (http://en.wikipedia.org/wiki/Search_tree). Двоичные деревья сами по себе не дают быстрого поиска. –
@Paul Я добавил некоторые детали к вопросу. – Dirt