Heap Data Structure Last Updated : 27 Sep, 2023 Read Discuss Courses DSA for Beginners Learn more about Heap in DSA Self Paced Course Practice Problems on Heap Top Quizzes on Heap What is Heap Data Structure? A Heap is a special Tree-based data structure in which the tree is a complete binary tree. Heap Data Structure Operations of Heap Data Structure: Heapify: a process of creating a heap from an array. Insertion: process to insert an element in existing heap time complexity O(log N). Deletion: deleting the top element of the heap or the highest priority element, and then organizing the heap and returning the element with time complexity O(log N). Peek: to check or find the first (or can say the top) element of the heap. Types of Heap Data Structure Generally, Heaps can be of two types: Max-Heap: In a Max-Heap the key present at the root node must be greatest among the keys present at all of it’s children. The same property must be recursively true for all sub-trees in that Binary Tree. Min-Heap: In a Min-Heap the key present at the root node must be minimum among the keys present at all of it’s children. The same property must be recursively true for all sub-trees in that Binary Tree. Topics : Introduction Some other types of Heaps Standard problems on heap Quick Links Introduction: Introduction to Heap – Data Structure and Algorithm Tutorials Binary Heap Applications, Advantages and Disadvantages of Heap Time Complexity of building a heap Applications of Heap Data Structure Comparison between Heap and Tree When building a Heap, is the structure of Heap unique? Some other types of Heap: Binomial Heap Fibonacci Heap Leftist Heap K-ary Heap Standard problems on Heap: Easy: Heap Sort Check if a given Binary Tree is Heap How to check if a given array represents a Binary Heap? Iterative Heap Sort K’th Largest Element in an array K’th Smallest/Largest Element in Unsorted Array | Set 1 Height of a complete binary tree (or Heap) with N nodes Heap Sort for decreasing order using min heap Medium: Sort an almost sorted array Print all nodes less than a value x in a Min Heap. Tournament Tree (Winner Tree) and Binary Heap Connect n ropes with minimum cost Maximum distinct elements after removing k elements K maximum sum combinations from two arrays Median of Stream of Running Integers using STL Median in a stream of integers (running integers) K’th largest element in a stream Largest triplet product in a stream Find k numbers with most occurrences in the given array Convert min Heap to max Heap Given level order traversal of a Binary Tree, check if the Tree is a Min-Heap Hard: Design an efficient data structure for given operations Merge k sorted arrays | Set 1 Sort numbers stored on different machines Smallest Derangement of Sequence Largest Derangement of a Sequence Maximum difference between two subsets of m elements Convert BST to Min Heap Merge two binary Max Heaps K-th Largest Sum Contiguous Subarray Minimum product of k integers in an array of positive Integers Leaf starting point in a Binary Heap data structure Rearrange characters in a string such that no two adjacent are same Sum of all elements between k1’th and k2’th smallest elements Minimum sum of two numbers formed from digits of an array Quick Links: Practice Problems on Heap Quizzes on Heap Recomended: Learn Data Structure and Algorithms | DSA Tutorial Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.