LearnViz CompSci
Home / Learn / Algorithms / Heap Sort

Intermediate Topic 18 of 51 Algorithms

Heap Sort

Sorting by repeatedly extracting the maximum from a heap.

How it works

Heap sort first builds a max-heap from the array in O(n), then repeatedly swaps the root, the largest item, with the last element of the heap, shrinks the heap and sifts the new root down. It sorts in place with a guaranteed O(n log n) running time and O(1) extra memory, but is not stable and has poor cache locality.

Where it is used

Systems that need worst-case guarantees with minimal memory, such as embedded and real-time software, the fallback in introsort and finding the top k items use heap sort or its heap structure.

Common pitfall

In practice it is usually slower than a good quicksort because of scattered memory access. Instability makes it unsuitable for multi-key sorts. Off-by-one mistakes in the child index formulas and in the shrinking heap size are common. Use a library heap for partial sorting tasks.

Where it fits in the course

Heap Sort is topic 18 of 51 in Algorithms, rated Intermediate. It follows Sliding Window. The next topic is Shell Sort.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Algorithms quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Heap Sort?
Sorting by repeatedly extracting the maximum from a heap. It belongs to Algorithms and is an intermediate-level topic.
Where do people use Heap Sort?
Systems that need worst-case guarantees with minimal memory, such as embedded and real-time software, the fallback in introsort and finding the top k items use heap sort or its heap structure.
What is the most common mistake with Heap Sort?
In practice it is usually slower than a good quicksort because of scattered memory access.
What should I learn before this topic?
Start with Sliding Window, the topic just before it in Algorithms.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Algorithms quiz. You can also explore Sorting Algorithms in the Visual Lab.
Is Heap Sort hard to learn?
It is an Intermediate topic. Be comfortable with the Beginner topics in this area first, then read the common pitfall carefully, since it is where most mistakes happen.
How long does it take to learn Heap Sort?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Heap Sort?
Sliding Window, Shell Sort, Two Pointers are closely connected. The full list is in the related topics section of this page.
What should I study after Heap Sort?
Continue with Shell Sort, the next topic in Algorithms.

Related topics