This repo is my guide for interview preparation. Feel free to use it as you see fit. It consists of common data structure and algorithm implementations and notes, complexity analyses, and interview questions I have come across. My implementations are done in Python for uniformity and convenience. However, the solutions that I provided to the interview questions are not necessarily done in Python.
Linked Lists | ||
---|---|---|
Singly Linked | code | notes |
Doubly Linked | code | notes |
Stacks | ||
LIFO | code | notes |
Queues | ||
FIFO | code | notes |
Deque | code | notes |
Priority Queue | code | notes |
Trees | ||
BST | code | notes |
AVL | code | notes |
Red-Black | code | notes |
Hash Tables | ||
Open Addressing | code | notes |
Separate Chaining | code | notes |
Graphs | ||
Adjacency List | code | notes |
Adjacency Matrix | code | notes |
Bubblesorts | ||
---|---|---|
Bubblesort | code | notes |
Simple Sorts | ||
Insertion Sort | code | notes |
Selection Sort | code | notes |
Efficient Sorts | ||
Merge Sort | code | notes |
Quicksort | code | notes |
Heapsort | code | notes |
Distribution Sorts | ||
Bucket Sort | code | notes |
Counting Sort | code | notes |
Radix Sort | code | notes |
Greedy | ||
---|---|---|
Kruskal's Algorithm | code | notes |
Prim's Algorithm | code | notes |
Huffman Coding | code | notes |
Dynamic Programming | ||
Bellman-Ford Algorithm | code | notes |
Dijkstra's Algorithm | code | notes |
A* Search Algorithm | code | notes |
Breadth First Search | ||
Breadth First Search | code | notes |
Depth First Search | ||
Depth First Search | code | notes |
Easy | ||
---|---|---|
Balanced Delimiters | code | notes |
First Repeating Character | code | notes |
Add Reversed Linked Lists | code | notes |
Rectangle Overlap | code | notes |
Greatest Time | code | notes |
Prime Numbers | code | notes |
Merge Sort | code | notes |
BST | code | notes |
Medium | ||
NxN Board Game | code | notes |
Longest Palindrome | code | notes |
Product Seeds | code | notes |
Iterative Inorder Traversal | code | notes |
Minimum Length Subarray | code | notes |
Linked List Palindrome | code | notes |
k Most Frequent Elements | code | notes |
Hard | ||
Kth Nearest Point | code | notes |
Shortest Path with Obstacle Avoidance | code | notes |
code | notes |
Easy | |
---|---|
Sudoku Sub-Grid | Problem |
10x10x10 Rubik's Cube | Problem |
Medium | |
Three Wise Men | Problem |
Hard |