
This file contains all the codes used in this course translated in Java.
The Flood-Fill problem is discussed in this video
Explore an exhaustive grid search using recursion with memoization to count paths from the top-left to bottom-right, avoiding -1 blocked cells by moving right or down.
Explore the gold collector problem, using recursion with two choices: skip or collect, to maximize gold, then apply memoization and bottom-up tabulation to optimize the dynamic program solution.
Explore generating all permutations of a set of distinct elements via backtracking, using a candidate pool to build sequences and filtering to avoid duplicates.
If you have trouble understanding Recursion and Backtracking, which is a recursion based technique, then this course is for you, since it is a course solely dedicated to Recursion and All types of Algorithms related to it.
In this course the Basics of Recursion will be learned. The basic Algorithm Design techniques like Divide and Conquer, Dynamic Programming and Backtracking(Exhaustive Search) will be discussed and many problems related to them will be solved.
Many different type of problems will be solved, from the simplest, finding the sum of numbers, to more difficult ones like Combinations, Permutations, Memoizations and the famous Flood Fill and N-queen Problem.