title: When is each sorting algorithm used?
body: <p>What are the use cases when a particular sorting algorithm is preferred over others - merge sort vs QuickSort vs heapsort vs 'intro sort', etc?</p>
  
  <p>Is there a recommended guide in using them based on the size, type of data structure, available memory and cache, and CPU performance?</p>