Most complex data structures can be built upon existing ones.
Example: We can collect order statistics in O(lg n) time using insertions and deletions.
There is an obvious O(n lg n) time algorithm for this (use sort and count).
There is also a O(n) algorithm described in Chapter 10.