Recursion Backtracking and Dynamic Programming in Python
This course is designed to help you understand the fundamental concepts of algorithmic problems, focusing on recursion, backtracking, dynamic programming and divide and conquer approaches. It covers topics such as stack memory and heap memory, Fibonacci numbers, tower of Hanoi problem, linear search approach, Hoare's algorithm, quickselect algorithm, binary numbers, n-queens problem, knapsack problem, optimal packing, merge sort, substring search algorithms, common interview questions, and algorithms analysis. With this course, you will learn the theoretical background of these algorithms and implement them from scratch in Python. Join now and get started! ▼
ADVERTISEMENT
Course Feature
Cost:
Paid
Provider:
Udemy
Certificate:
Paid Certification
Language:
English
Start Date:
2023-04-17
Course Overview
❗The content presented here is sourced directly from Udemy platform. For comprehensive course details, including enrollment information, simply click on the 'Go to class' link on our website.
Updated in [July 17th, 2023]
This course provides an overview of the fundamental concepts of algorithmic problems, focusing on recursion, backtracking, dynamic programming and divide and conquer approaches. It covers topics such as recursion and recursive methods, stack memory and heap memory overview, Fibonacci numbers, factorial function, tower of Hanoi problem, linear search approach, binary search algorithm, selection algorithms, Hoare's algorithm, quickselect algorithm, median of medians algorithm, the secretary problem, binary numbers, logical operators and shift operators, checking even and odd numbers, bit length problem, Russian peasant multiplication, backtracking, n-queens problem, Hamiltonian cycle problem, coloring problem, knight's tour problem, maze problem, Sudoku problem, dynamic programming, knapsack problem, rod cutting problem, subset sum problem, Kadane's algorithm, longest common subsequence (LCS) problem, optimal packing, bin packing problem, divide and conquer approaches, dynamic programming and divide and conquer method, sorting in O(NlogN) with merge sort, the closest pair of points problem, substring search algorithms, brute-force substring search, Z substring search algorithm, Rabin-Karp algorithm and hashing, Knuth-Morris-Pratt (KMP) substring search algorithm, common interview questions (Google, Facebook and Amazon), anagram problem, palindrome problem, integer reversion problem, dutch national flag problem, trapping rain water problem, algorithms analysis, running time analysis with big O (ordo), big Ω (omega) and big θ (theta) notations, complexity classes, polynomial (P)and non-deterministic polynomial (NP)algorithms. The course will also cover the implementation of these problems from scratch in Python.
Course Syllabus
Introduction
Environment Setup
Recursion
Search Algorithms
Selection Algorithms
Bit Manipulation Problems
Backtracking
Dynamic Programming
Optimal Packing Problem
Divide and Conquer Algorithms
Substring Search Algorithms
COMMON INTERVIEW QUESTIONS (Amazon, Facebook and Google)
Next Steps
### APPENDIX - COMPLEXITY THEORY CRASH COURSE ###
Algorhyme FREE Algorithms Visualizer App
Course Materials (DOWNLOADS)
Pros & Cons
Good explanation using examples.
Comprehensive coverage of non-trivial algorithms.
Step-by-step visualizations of algorithm operations.
Provided Python source code works.
Well-organized and properly explained content.
Rapid explanation, hard to keep track.
Few mistakes in presentation.
Assumes prior knowledge of basic algorithms and data structures.
Course Provider
Provider Udemy's Stats at AZClass
Discussion and Reviews
0.0 (Based on 0 reviews)
Start your review of Recursion Backtracking and Dynamic Programming in Python