Search⌘ K
AI Features

What Is a Min Heap?

Explore the min heap data structure, where the smallest element is always at the root of a complete binary tree. Learn to implement key operations like insert, extract min, peek, and check size or capacity using Python. Understand how bubbling up and down maintain heap properties and analyze time complexity for efficient algorithm use.

Min heap

A min heap is a complete binary tree where every parent node is smaller than or equal to its children, meaning the smallest element in the entire heap is always sitting at the root and is instantly accessible at any time.

Example: Consider a min heap containing the values: [2, 5, 8, 10, 14].

Visualization of a min heap
Visualization of a min heap

The root is 2 because it is the smallest element. Its children are 5 and 8, both of whom are greater than 2. Similarly, 5's children are 10 and 14, both of whom are greater than 5. This ordering holds at every level of the tree, which makes it a valid min heap.

In array form, this heap is stored as [2, 5, 8, 10, 14], with the root at index 0.

Understanding the index formulas

For any element at index i, its parent and children can be located using simple arithmetic:

  • Parent: (i1)//2(i - 1) // 2

  • Left child: 2×i+12 \times i + 1

  • Right child: 2i+22 * i + 2 ...