Created
July 22, 2017 17:32
-
-
Save tejas-kr/734509328b3532b52ba0b3638da7c8f3 to your computer and use it in GitHub Desktop.
What are the most important data structure and algorithms to prepare for coding Interviews?
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Stick to Basics. I would classify the following data structures as **must know** | |
Linked List - Single and Doubly | |
Stack | |
Queues | |
Binary Search Trees or general Binary Tree | |
Heaps | |
Basic Graph Traversal and Shortest Path | |
Hashing | |
Following data structures may be asked. I would say that their probability of being asked is between 50 to 75% - | |
Tries | |
Advance Graphs like flow and min-cut etc. | |
Bit Manipulation | |
You will probably crack interviews with sufficient knowledge of above. | |
Following have very low probability of being asked ( < 25%) : | |
Segment Trees / Binary Indexed Trees | |
AVL Trees | |
B+ Trees | |
Other hard data structures are absolutely unnecessary. | |
Following Algorithms / Tricks / Topics may also be important : | |
Memory Management | |
Basic Co-ordinate geometry - Manhattan Distance, Closest Point Pair | |
Divide and Conquer | |
Greedy | |
Dynamic Programming - Extremely important | |
Probability and basic Number Theory | |
Sorting and Searching | |
Following topics is important for Knowledge / Experience based questions : | |
OS - Threads, Processes and Locks using Mutex, Semaphores (Operating systems Archives - GeeksforGeeks) | |
Scalability Issues, RPCs, Rate limiter, etc. | |
OOP Concepts | |
Databases - SQL, NoSQL, Writing simple Queries, Transactions, ACID | |
Linux Commands - sed, grep, ps, etc. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment