Heap

A Heap is a special Tree-based data structure in which the tree is a complete binary tree.

Apart from definitions, there are other important topics on Heap that you must prepare/revise before the technical Coding round, such as:

Along with these, below are a list of must-do problems on Heap for this DSA Crash Course:

DSA Crash Course | Revision Checklist with Interview Guide

Prepare for your upcoming interview with confidence using our comprehensive DSA Revision Checklist Crash Course. This DSA Crash Course not only helps you brush up on key DSA topics but also includes valuable insights for acing technical interviews. Elevate your technical skills and enhance your interview performance with this essential DSA Crash Course.

DSA Crash Course

This comprehensive resource offers a meticulous review of crucial Data Structures and Algorithms concepts, serving as the perfect pre-interview refresher. From fundamental data structures to advanced algorithms, this DSA Revision Checklist ensures you’re well-prepared for the technical challenges that lie ahead.

Below are the topics we will be covering in this article:

Table of Content

  • 1. Array
  • 2. String
  • 3. LinkedList
  • 4. Stack
  • 5. Queue
  • 6. Tree
  • 7. Binary Search Tree
  • 8. Graph
  • 9. Trie
  • 10. Heap
  • 11. Hash
  • 12. Recursion
  • 13. Backtracking
  • 14. Dynamic Programming
  • 15. Greedy Algorithms
  • 16. Sorting and Searching
  • 17. Pattern Searching
  • 18. Divide and Conquer Algorithms
  • 19. Number Theory
  • 20. Bit Manipulation

Similar Reads

Data Structures Last Minute Notes | DSA Crash Course

Let us begin with the Data Structures in our DSA Revision Checklist:...

1. Array

An array is a collection of items of same data type stored at contiguous memory locations....

2. String

Strings are defined as an array of characters. The difference between a character array and a string is the string is terminated with a special character ‘\0’....

3. LinkedList

A linked list is a linear data structure, Unlike arrays, linked list elements are not stored at a contiguous location. it is basically chains of nodes, each node contains information such as data and a pointer to the next node in the chain. In the linked list there is a head pointer, which points to the first element of the linked list, and if the list is empty then it simply points to null or nothing....

4. Stack

Stack is a linear data structure in which insertion and deletion are done at one end this end is generally called the top. It works on the principle of Last In First Out (LIFO) or First in Last out (FILO). LIFO means the last element inserted inside the stack is removed first. FILO means, the last inserted element is available first and is the first one to be deleted....

5. Queue

A Queue is a linear structure that follows a particular order in which the operations are performed. The order is First In First Out (FIFO). It is similar to the ticket queue outside a cinema hall, where the first person entering the queue is the first person who gets the ticket....

6. Tree

A tree is non-linear and a hierarchical data structure consisting of a collection of nodes such that each node of the tree stores a value and a list of references to other nodes (the “children”)....

7. Binary Search Tree

Binary Search Tree is a node-based binary tree data structure which has the following properties: The left subtree of a node contains only nodes with keys lesser than the node’s key. The right subtree of a node contains only nodes with keys greater than the node’s key. The left and right subtree each must also be a binary search tree....

8. Graph

A Graph is a non-linear data structure consisting of nodes and edges. The nodes are sometimes also referred to as vertices and the edges are lines or arcs that connect any two nodes in the graph. More formally a Graph can be defined as, A Graph consisting of a finite set of vertices(or nodes) and a set of edges that connect a pair of nodes....

9. Trie

Trie data structure is defined as a Tree based data structure that is used for storing some collection of strings and performing efficient search operations on them. The word Trie is derived from retrieval, which means finding something or obtaining it. Trie follows some property that If two strings have a common prefix then they will have the same ancestor in the trie. A trie can be used to sort a collection of strings alphabetically as well as search whether a string with a given prefix is present in the trie or not....

10. Heap

A Heap is a special Tree-based data structure in which the tree is a complete binary tree....

11. Hash

Hashing refers to the process of generating a fixed-size output from an input of variable size using the mathematical formulas known as hash functions. This technique determines an index or location for the storage of an item in a data structure....

Algorithms Last Minute Notes | DSA Crash Course

Let us now dive into the Algorithms in our DSA Revision Checklist:...

12. Recursion

The process in which a function calls itself directly or indirectly is called recursion and the corresponding function is called a recursive function....

13. Backtracking

Backtracking can be defined as a general algorithmic technique that considers searching every possible combination in order to solve a computational problem....

14. Dynamic Programming

Dynamic Programming (DP) is defined as a technique that solves some particular type of problems in Polynomial Time. Dynamic Programming solutions are faster than the exponential brute method and can be easily proved their correctness....

15. Greedy Algorithms

Greedy Algorithm is defined as a method for solving optimization problems by taking decisions that result in the most evident and immediate benefit irrespective of the final outcome. It works for cases where minimization or maximization leads to the required solution....

16. Sorting and Searching

A Sorting Algorithm is used to rearrange a given array or list of elements according to a comparison operator on the elements. The comparison operator is used to decide the new order of elements in the respective data structure. Whereas searching is an algorithm to search some elements in the list of elements....

17. Pattern Searching

Pattern Searching algorithms are used to find a pattern or substring from another bigger string. There are different algorithms. The main goal to design these type of algorithms to reduce the time complexity. The traditional approach may take lots of time to complete the pattern searching task for a longer text....

18. Divide and Conquer Algorithms

Divide and Conquer is an algorithmic paradigm in which the problem is solved using the Divide, Conquer, and Combine strategy....

19. Number Theory

Number theory is a branch of pure mathematics devoted to the study of the natural numbers and the integers. It is the study of the set of positive whole numbers which are usually called the set of natural numbers. As it holds the foundational place in the discipline, Number theory is also called “The Queen of Mathematics”....

20. Bit Manipulation

The Bitwise Algorithms is used to perform operations at the bit-level or to manipulate bits in different ways. The bitwise operations are found to be much faster and are sometimes used to improve the efficiency of a program....