A tree built from an array: a heap by value, and read left to right it gives back the array. A stack builds it in O(n), and a range minimum is a common ancestor.
This interactive visualization needs JavaScript.