168
Глава 13. Бинарное дерево поиска
Методы, выполняющиеся
за логарифмическое время
В MyTreeMap методы get и put выполняются за h — время, пропор-
циональное высоте дерева. В предыдущем упражнении мы показа-
ли, что при заполненном дереве (каждый уровень содержит мак-
симальное количество узлов) его высота пропорциональна log n.
И я утверждал, что get и put выполняются за логарифмическое
время, то есть время, пропорциональное log n. Но для большин-
ства приложений нет гарантии, что дерево заполнено. Его форма
зависит от ключей и того, в каком порядке они добавляются.
Чтобы увидеть, как это работает на практике, мы проверим нашу
реализацию с двумя наборами данных: списком случайных строк
и списком отметок времени (timestamps) в порядке возрастания. ...