@alcinnz I've recently learned about the _Tournament Tree_ data structure, which is a form of min (max) heap:
https://www.geeksforgeeks.org/dsa/tournament-tree-and-binary-heap/
It can be used to find the median of sorted arrays or to sort more elements than can fit into memory: for this, multiple sorted arrays are stored at the leafs of the tree while being built bottom-up (k-way merge).
1/2