Data Structures, Algorithms, & Applications in Java
Chapter 15, Exercise 3

The operation ascend can be done in O(n) time because the level 0 chain is in ascending order. The remaining operations have an expected complexity of O(log n) time.