These Questions are selected from various online coding websites to learn Algorithms for using in Competitive Prorgamming, but can be used for:
- Competitive Programming
- Practicing for Interviews
- Improving Algorithmic Thinking
- Practicing for College Class
- FUN
In this course we will use some tools for the questions. As I mentioned above all of these questions already exists, we just highlight them so that you can reach better. Here are the websites/tools that we use through this course:
- Stacks
- Queues
- Priority queue
- Hashmap
- Linked List
- Trees
- Heaps
- Advanced Trees
- Tries
- Segment trees
- Fenwick tree or Binary indexed trees
- RMQ
- SQRT Decomposition
- Disjoint Data Structure
- C++ STL (optional)
-
Number Theory
- Prime Numbers (Sieve of Eratosthenes)
- GCD and LCM Euclid’s Algorithm
- Modular Exponentiation
- Long arithmetic (Multi, Add)
- Efficient Prime Factorization
-
Combinatorics(Probability-Combinations-Permutations-Matrix..)
-
Computational geometry
- Primitive Operations
- Intuition
- Polygon Inside, Outside
- Implementing CCW
- Immutable Point ADT
- Convex Hull
- Closest pair problem
- Line intersection
- Primitive Operations
-
Sorting
- QuickSort
- Counting Sort
- Merge Sort
-
Searching
- Binary Search
- Ternary Search
-
Graph Theory
- Depth First Search (DFS)
- Breadth First Search (BFS)
- Dijkstra’s Shortest Path
- Minimum Spanning Tree
- Ford Bellman
- Floyd Warshall
- LCA (Lowest Common Ancestor)
- Max Flow / Min Cut
-
Dynamic programming
- Knapsack
- Matrix chain multiplication
- Coin Change
- Kadane
- Longest increasing Subsequence (with RMQ)
-
Strings
- Z algorithm
- Suffix Trees/Arrays
- Knuth-Morris-Pratt Algorithm (KMP)
- Rabin-Karp Algorithm
- Hash
-
Bit Manipulation
-
Game theory
- Nim game
- Grundy numbers
- Sprague-Grundy theorem
-
Optional Advanced Algorithms
- AVL Trees
- Graph Coloring
- Mo's Algorithm
- Palindromic Tree
- Heavy Light Decomposition
- Dynamic Programming by Profile
- Rod Cutting
- Topological Sorting
- DP with Bitmask - Dynamic Programming
- Diobhantine Equation - Math
- Flood Fill - Graph
- Project Euler
- LeetCode
- InterviewBit
- Codility
- HackerRank
- Project Euler
- Spoj
- Google Code Jam practice problems
- HackerEarth
- Top Coder
- CodeChef
- Codewars
- CodeSignal
- CodeKata
- Firecode
- Data Structures
- Algorithms
- Competitive Programming 3 - Steven Halim & Felix Halim
- Cracking The Coding Interview - Gayle Laakmann McDowell
- Cracking The PM Interview - Gayle Laakmann McDowell & Jackie Bavaro
- Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest & Clifford Stein
- GeeksForGeeks – A CS portal for geeks
- Learneroo – Algorithms
- Top Coder tutorials
- Infoarena training path (RO)
- Steven & Felix Halim – Increasing the Lower Bound of Programming Contests (UVA Online Judge)
- MIT – Hacking a Google Interview
- Coderust 2.0 ($$)
- Interview Cake ($$$) [review]
- How to Ace the Software Engineering Interview ($$)
- Grokking the System Design Interview ($$)
- Coding for Interviews
- Career Cup
- HiredInTech
- Codela
- TestDome
- FreeCodeCamp "Learn to code and help nonprofits"
- Dynamic Programming Practice Problems
- How to: Work at Google – Candidate Coaching Session for Technical Interviewing [45:45]
- Gayle McDowell – Cracking the Coding Interview [1:14:24]
- Gayle McDowell - Cracking the Coding Interview (examples) [9:05]
- Google Recruiters Share Technical Interview Tips [31:06]
- Google Recruiters Share Non-Technical Interview Tips [28:23]
- Moishe Lettvin – What I Learned Doing 250 Interviews at Google [1:00:24]
- Sean Lee – How to Get a Job at the Big 4 [42:34]
- Ladies Storm Hackathons – Interview Prep Round 1: Strings, Arrays, Linked Lists [1:12:39]
- Randall Koutnik – Rethinking the Developer Career Path [25:03]
- donnemartin/system-design-primer
- Grokking the System Design Interview
- This is a paid course but has several free previews such as Designing Instagram
- binhnguyennus/awesome-scalability
- Raph Levien – Rope Science
- Architecture of Open Source Applications
- How should I prepare system design questions for Google/Facebook interview?
- Jeff Atwood – How Good an Estimator Are You?
- 0xAX/linux-insides
* Codecademy
* Freecodecamp
* Progate
* Cs50 by Harvard university