Dynamic Programming (DP) is an algorithmic technique for solving an optimization problem by breaking it down into simpler sub-problems and taking advantage of the fact that the optimal solution to the overall problem is dependent on the optimal solution to its sub-problems.
✅Grokking the Coding Interview Patterns
Sliding Window
Two Pointers
Fast & Slow Pointers
Merge Intervals
Cyclic Sort
In-place Reversal of a LinkedList
Tree Breadth-First Search
Tree Depth First Search
Two Heaps
Subsets
Modified Binary Search
Bitwise XOR
Top ‘K’ Elements
K-way Merge
0/1 Knapsack
Unbounded Knapsack
Fibonacci Numbers
Palindromic Subsequence
Longest Common Substring
Topological Sort
Trie Traversal
Number of Island
Trial & Error
Union Find
Unique Paths
Sliding Window
Two Pointers
Fast & Slow Pointers
Merge Intervals
Cyclic Sort
In-place Reversal of a LinkedList
Tree Breadth-First Search
Tree Depth First Search
Two Heaps
Subsets
Modified Binary Search
Bitwise XOR
Top ‘K’ Elements
K-way Merge
0/1 Knapsack
Unbounded Knapsack
Fibonacci Numbers
Palindromic Subsequence
Longest Common Substring
Topological Sort
Trie Traversal
Number of Island
Trial & Error
Union Find
Unique Paths
👍3
Recursion is a problem-solving technique in which the solution is dependent on solutions to smaller instances of the same problem. Computing factorials is a classic example of recursive programming.
Every recursive program follows the same basic sequence of steps:
Set up the algorithm. Recursive programs frequently require a seed value, to begin with. This is accomplished by either using a parameter passed to the function or by providing a non-recursive gateway function that sets up the seed values for the recursive calculation.
Check to see if the current value(s) being processed correspond to the base case. If so, process the value and return it.
Rephrase the solution in terms of a smaller or simpler sub-problem or sub-problems.
Apply the algorithm to the sub-problem.
In order to formulate an answer, combine the results.
Return the results.
Every recursive program follows the same basic sequence of steps:
Set up the algorithm. Recursive programs frequently require a seed value, to begin with. This is accomplished by either using a parameter passed to the function or by providing a non-recursive gateway function that sets up the seed values for the recursive calculation.
Check to see if the current value(s) being processed correspond to the base case. If so, process the value and return it.
Rephrase the solution in terms of a smaller or simpler sub-problem or sub-problems.
Apply the algorithm to the sub-problem.
In order to formulate an answer, combine the results.
Return the results.
Hashing is a technique or process that uses a hash function to map keys and values into a hash table. It is done to allow for quicker access to elements. The efficiency of mapping is determined by the hash function’s efficiency.
JavaScript from Frontend to Backend.pdf
7.7 MB
JavaScript from Frontend to Backend
Eric Sarrion, 2022
Eric Sarrion, 2022
The Ultimate Guide to Machine Learning Job Interviews .pdf
2.9 MB
'The Ultimate Guide to Machine Learning Job Interviews '
benjamin-baka-python-data-structures-and-algorithms-2017.pdf
11.5 MB
Python Data Structures and Algorithms
Benjamin Baka, 2017
Benjamin Baka, 2017
❤1👍1
java_interview_questions_Top_20_java_interview_programs_and_answers.pdf
1.3 MB
java_interview_questions_Top_20_java_interview_programs_and_answers.pdf
👍1
Elements_of_Programming_Interviews_in_Python_The.pdf
235.4 MB
Elements of Programming Interviews in Python
Adnan Aziz, 2016
Adnan Aziz, 2016
👍1
bob-hughes-project-management-for-it-related-projects.epub
6.2 MB
Project Management for IT-Related Projects
Bob Hughes, 2019
Bob Hughes, 2019
Learn Python Programming (SafefilekU.com).pdf
14.4 MB
Learn Python Programming
Reed Cartwright, 2021
Reed Cartwright, 2021
Modeling_and_Simulation_in_Python_Jason_M._Kinser.pdf
10.5 MB
Modeling and Simulation
in Python
Jason M. Kinser, 2022
in Python
Jason M. Kinser, 2022