Sorting: to sort, then to access any element by rank. Heap: to build (heapify), per extraction. Use sorting when:
- You need multiple rank queries
- You need the entire sorted order
- The data doesn't change
Use heaps when:
- You only need the top elements
- Data arrives as a stream
- You need running extrema