Algorithms
List of various algorithms to learn.
Important Algorithms
Sorting
Organizing data in a specific order efficiently.
Binary Search
Efficiently find an element in a sorted array.
Two Pointers Technique
Simplify and optimize problems using the two pointers approach.
Greedy Algorithm
Solve optimization problems by making the best choice at each step.
Sliding Window Technique
Optimize problems involving subarrays or substrings with the sliding window technique.
Depth First Search (DFS)
Traverse or search a graph or tree in depthward motion.
Breadth First Search (BFS)
Traverse or search a graph or tree level by level.
Backtracking
Explore all possibilities for solving constraint-based problems.
Dynamic Programming (DP)
Solve optimization problems efficiently with the power of overlapping subproblems and optimal substructure.
Bit Manipulation
Harness the power of bits to solve problems efficiently.
Book Recommendations
This book just makes algorithms so easy and fun to understand. It has a lot of illustrations and examples which makes it easy to understand the concepts. I would highly recommend this book to anyone who is starting with algorithms.