Интуиция за растущим деревом (самобалансирующиеся деревья)

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

Я не понимаю, как дерево может выполнять амортизированное O (log n) для этого примера ввода:

Скажем, дерево из n узлов уже построено. Мои следующие n операций - n чтений. Я обращаюсь к глубокому узлу, скажем, на глубине n. Это занимает O (n). Правда после этого доступа дерево станет сбалансированным. Но скажем каждый раз, когда я обращаюсь к самому последнему глубокому узлу. Это никогда не будет меньше O (log n). тогда как мы можем компенсировать первую дорогостоящую операцию O (n) и получить амортизированную стоимость каждого чтения как O (log n)?

Спасибо.

5
задан templatetypedef 4 February 2012 в 21:54
поделиться