The way I've learned or seen merge sort implemented has always been the top-down recursive approach which requires O(n) extra memory.
It seems with the bottom-up approach, you can do this with constant memory. The merge operation is identical to the top-down approach. So it seems to me that bottom up is superior to top down.
Why is the top-down approach more commonly used and taught?