Re[5]: читая Страуструпа
От: Кодт Россия  
Дата: 30.04.03 11:33
Оценка:
Здравствуйте, potap, Вы писали:

К>>Нужно, к примеру, для балансирования дерева.


P>это как ? что значит "балансирование дерева" ?


Балансированное дерево — такое, что в каждой дочерней ветке поровну (почти поровну) узлов.
Балансирование — перестройка дерева так, чтобы оно стало балансированным.

P>>Мне было бы понятно если дерево хранит словарь. о — отец для : он, ор, оса. он — отец для : они, оно, онуфрий. Но тогда бинарным деревом не обойтись ...


К>>Ну ты сам предложил тернарное дерево.

P>Я чисто для примера предложил. Случайно оказалось, что дочек у всех по три. Пусть будет ещё "она" и у "он" будет уже 4 дочки.

К>>А почему нельзя бинарное?


К>>Бинарное Б-дерево.

P>Да нет. "онуфрий" дочка для "он", а не "о". "он" лучше подходит на роль отца.
P>Я имел ввиду такое дерево :
P>
P>о +
P>  +-> он +
P>  |      +-> они
P>  |      +-> оно
P>  |      +-> онуфрий
P>  |      +-> она
P>  |
P>  +-> ор +
P>  +-> оса+
P>


Это еще одна разновидность: дерево с неограниченным (или равным алфавиту) числом дочерних узлов.

Словарю в принципе по барабану, в какой структуре храниться.
Можно в твоей (каждый уровень — другая буква),
можно в Б-дереве ( узел < дочка1 < правнучка1 < дочка2 ... < правнучкаN < следующий )
можно в дереве сравнений ( дочка1 < правнучка12...2 < узел < правнучка21...1 < дочка2 )

При этом слова, начинающиеся, скажем, на "он" с легкостью находятся во всех структурах.
Быстрее всего — в алфавитном дереве, затем — в Б-дереве, затем — в дереве сравнений.
(=^.^=) Neko ... << RSDN@Home 1.0 beta 6a >>
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.