Linearithmic sorting considers runtime complexity, space complexity, and stability
Heap Sort — sorting using iterations of heapify and sifting
Merge Sort — sorting using partitions (stable)
Quick Sort — sorting using pivoted partitions