Recursion Backtracking and Dynamic Programming in Python faq

learnersLearners: 10,244
instructor Instructor: Holczer Balazs instructor-icon
duration Duration: instructor-icon

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!

Course Feature Course Overview Pros & Cons Course Provider
Go to class

Course Feature

costCost:

Paid

providerProvider:

Udemy

certificateCertificate:

Paid Certification

languageLanguage:

English

start dateStart 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.

Pros & Cons

Pros Cons
  • pros

    Good explanation using examples.

  • pros

    Comprehensive coverage of non-trivial algorithms.

  • pros

    Step-by-step visualizations of algorithm operations.

  • pros

    Provided Python source code works.

  • pros

    Well-organized and properly explained content.

  • cons

    Rapid explanation, hard to keep track.

  • cons

    Few mistakes in presentation.

  • cons

    Assumes prior knowledge of basic algorithms and data structures.

Course Provider

Provider Udemy's Stats at OeClass