This is a work in progress where I'll continue updating and adding topics, resources and anything related to coding interview preparations. Also, this is a repository for coding solutions related to Leetcode and Codeforces problems.
- Arrays / Matrices
- Strings
- Hash Maps
- Linked Lists
- Sets
- Stacks
- Queues
- Trees
- Graphs
- Heaps (Priority Queues)
- Tries
- Disjoint Set (Union Find)
- Binary Search
- DFS (Depth First Search)
- BFS (Breadth First Search)
- Sorting
- Merge Sort
- Quick Sort
- Insertion Sort
- Topological Sort
- Math
- Hashing
- Bit Manipulation
- Recursion
- Divide & Conquer
- Greedy Algorithms
- Dynamic Programming / Memoization
- Backtracking
- Two/Multiple Pointers
- Fast/Slow Pointers
- Sliding window
- Merge intervals
- Top 'K' elements
- mycodeschool: C/C++, this series needs good understanding of pointers
- William Fiset: Data structures course by Google engineer William Fiset
- HackerRank: DS videos by Gayle Laakmann McDowell
- MIT Algorithms: Introduction to mathematical modeling of computational problems, MIT 6.006 Fall 2011
- Algorithms 1 and Algorithms 2: Stanford courses, both are teached by Professor Tim Roughgarden
- HackerRank: Algorithms videos by Gayle Laakmann McDowell
- Algorithms: By Abdul Bari.
- Coding Made Simple: By Tushar Roy
- Introduction to Algorithms, 3rd Edition: "CLRS" (Cormen, Leiserson, Rivest, Stein)
- Cracking the Coding Interview: Gayle Laakmann McDowell
This program is free software; you can redistribute it and/or modify it under the terms of the MIT License.