Published using Google Docs
Important Data Structures
Updated automatically every 5 minutes

Important Data Structures for

Programming Interviews

Following are the basic data structures and you have to know each and every one of them

  1. Linked Lists - Singly and Doubly
  2. Stacks
  3. Queues
  4. Binary Search Trees ( and Binary Tree )
  5. Heaps
  6. Basic Graph Traversals and Shortest Path
  7. Hashing

Following data structures may be asked. Their probability of being asked is between 50 to 75% -

  1. Tries
  2. Advance Graphs like flow and min-cut etc.
  3. Bit Manipulation

Following have very low probability of being asked ( < 25%) :

  1. Segment Trees / Binary Indexed Trees
  2. AVL Trees
  3. B+ Trees.

Following Algorithms / Tricks / Topics may also be important :

  1. Memory Management
  2. Basic Co-ordinate geometry - Manhattan Distance, Closest Point Pair
  3. Divide and Conquer
  4. Greedy
  5. Dynamic Programming - Extremely important
  6. Probability and basic Number Theory
  7. Sorting and Searching

Following topics is important for Knowledge / Experience based questions :

  1. OS - Threads, Processes and Locks using Mutex, Semaphores (Operating systems Archives - GeeksforGeeks)
  2. Scalability Issues, RPCs, Rate limiter, etc.
  3. OOP Concepts
  4. Databases - SQL, NoSQL, Writing simple Queries, Transactions, ACID
  5. Linux Commands - sed, grep, ps, etc.