Trusted answers to developer questions

What is a Heap?

Free System Design Interview Course

Many candidates are rejected or down-leveled due to poor performance in their System Design Interview. Stand out in System Design Interviews and get hired in 2023 with this popular free course.

Heaps are advanced data structures that are useful for specific use-cases such as sorting and implementing priority queues.

Characteristics

Heaps can be thought of as regular binary trees with two special characteristics.

  • Heaps must be Complete Binary Trees.
  • The nodes must be ordered according to the Heap order property. Two heap order properties are as follows:
Max Heap Property:

All the parent node keys must be greater than or equal to their child node keys in max-heaps. So the root node will always contain the largest element in the Heap. If Node A has a child node B, then,

key(A)>=key(B)key(A) >=key(B)

Min Heap Property:

In Min-Heaps, all the parent node keys are less than or equal to their child node keys. So the root node, in this case, will always contain the smallest element present in the Heap. If Node A has a child node B, then:

key(A)<=key(B)key(A) <=key(B)

RELATED TAGS

data structures
heap
Copyright ©2023 Educative, Inc. All rights reserved
Did you find this helpful?