In some languages, dynamically allocated objects are stored in the heap. Looking at a complexity table of data structures (like this one) I see that the only advantage heaps have over some other type of data structures such as a tree is dealing with the maximal value better.
Why is the heap used to store those objects and not other data structures?
Is dealing with the maximal value important for memory management? Why?