В this implementation of a splay tree указанная временная сложность функции makeEmpty()
(которая удаляет все элементы) равна O (n). Это осуществляется следующим образом:Сложность времени makeEmpty() дерева splay сверху вниз
while(!isEmpty())
{
findMax(); // Splay max item to root
remove(root->element);
}
Учитывая, что оба findMax
и remove
могут иметь временную сложность пропорциональную высоты дерева, почему это будет принять O (п) в худшем случае?
Спасибо!