Treap
A Treap combines the binary-search-tree property on keys with a heap property on randomly assigned priorities. The key determines left/right ordering, while priority determines the heap ordering. Random priorities make the expected height O(log n), giving expected logarithmic search, insertion, and deletion.
BST ordering applies to keys.
Heap ordering applies to priorities.
Random priorities provide expected balancing.
Expected operations: O(log n).
Rotations maintain both invariants.