In this Introduction to Algorithms in Python course, you’ll learn about algorithm basics like recursion and then go all the way to working with concepts like dynamic programming.
The 5 main course segments include simple recursive algorithms, data structures, divide & conquer, greedy algorithms, and dynamic programming.
â?ï¸ Joy Brock developed this course in collaboration with realtoughcandy.io. Check out Joy’s channel: https://www.youtube.com/c/PythonLearningChannel
ð?¬ Sign up for the RealToughCandy newsletter and get a free ebook plus coding challenges, exclusive promo codes and more delivered directly to your inbox. â?¡ï¸ https://realtoughcandy.com/newsletter-and-free-ebook/
âï¸ Code Samples âï¸
ð??? https://github.com/joyb0218/intro_to_algorithms/blob/main/1_recursive_algorithms
ð??? https://github.com/joyb0218/intro_to_algorithms/blob/main/2_data_structures
ð??? https://github.com/joyb0218/intro_to_algorithms/blob/main/3_divide_conquer
ð??? https://github.com/joyb0218/intro_to_algorithms/blob/main/4_greedy_algorithms
ð??? https://github.com/joyb0218/intro_to_algorithms/blob/main/5_dynamic_programming
âï¸ Course Contents âï¸
â?¨ï¸ (0:00:00) Intro & course overview
â?¨ï¸ (0:07:07) Factorials refresher
â?¨ï¸ (0:10:04) CODING CHALLENGE: Factorial program using iteration, recursion
â?¨ï¸ (0:14:57) What is a permutation?
â?¨ï¸ (0:16:34) CODING CHALLENGE: Recursive permutation
â?¨ï¸ (0:20:13) Iterative permutation example
â?¨ï¸ (0:22:17) 8/N queens problem: theory & explanation
â?¨ï¸ (0:23:57) Real world example of permutations
â?¨ï¸ (0:24:49) Lesson recap
â?¨ï¸ (0:26:11) What are data structures?
â?¨ï¸ (0:27:53) What is a one-dimensional array?
â?¨ï¸ (0:29:01) Search & sort
â?¨ï¸ (0:30:39) CODING CHALLENGE: Linear search
â?¨ï¸ (0:31:00) Binary search
â?¨ï¸ (0:32:06) CODING CHALLENGE: Iterative binary search
â?¨ï¸ (0:33:31) Coding a recursive binary search
â?¨ï¸ (0:34:47) Bubble sort
â?¨ï¸ (0:36:42) CODING CHALLENGE: Bubble sort
â?¨ï¸ (0:38:02) Insertion sort
â?¨ï¸ (0:39:24) CODING CHALLENGE: Insertion sort
â?¨ï¸ (0:40:36) Linked lists
â?¨ï¸ (0:44:01) CODING CHALLENGE: Linked list (traverse, search, add, delete, header, nodes, tail)
â?¨ï¸ (0:52:12) Hash tables
â?¨ï¸ (0:56:27) Lesson recap
â?¨ï¸ (0:57:42) Divide & conquer algorithm paradigm: uses, benefits and more
â?¨ï¸ (1:00:43) Merge sort
â?¨ï¸ (1:02:48) CODING CHALLENGE: An efficient merge sort
â?¨ï¸ (1:05:48) Getting judged mercilessly on LeetCode
â?¨ï¸ (1:06:47) Getting Python to do the work for us with sorted()
â?¨ï¸ (1:07:33) Matrix multiplication
â?¨ï¸ (1:10:06) CODING CHALLENGE: Matrix multiplication
â?¨ï¸ (1:11:20) Strassen algorithm
â?¨ï¸ (1:14:45) CODING CHALLENGE: Strassen algorithm
â?¨ï¸ (1:16:27) Lesson recap
â?¨ï¸ (1:17:21) What is a greedy algorithm?
â?¨ï¸ (1:19:20) Assign mice to holes conceptual overview
â?¨ï¸ (1:21:45) CODING CHALLENGE: Assign mice to holes
â?¨ï¸ (1:23:10) Fractional knapsack
â?¨ï¸ (1:23:36) Understanding the fractional knapsack problem with a (light-hearted) dystopian apocalypse example
â?¨ï¸ (1:25:54) Coding challenge prep
â?¨ï¸ (1:27:13) CODING CHALLENGE: Fractional knapsack
â?¨ï¸ (1:31:49) Egyptians fractions
â?¨ï¸ (1:34:03) CODING CHALLENGE: Egyptian fractions
â?¨ï¸ (1:37:06) Lesson recap
â?¨ï¸ (1:38:15) What is dynamic programming (also called DP)?
â?¨ï¸ (1:41:55) What is the principle of optimality?
â?¨ï¸ (1:42:20) The 3-step process to solving a problem with optimal substructure
â?¨ï¸ (1:43:55) Introduction to â??ugly numbersâ?
â?¨ï¸ (1:47:19) CODING CHALLENGE: Ugly numbers
â?¨ï¸ (1:51:41) Traveling salesman problem (TSP)
â?¨ï¸ (1:55:49) CODING CHALLENGE: Traveling salesman problem
â?¨ï¸ (1:59:52) Palindromic matrix paths
â?¨ï¸ (2:03:11) CODING CHALLENGE: Palindromic matrix paths
â?¨ï¸ (2:08:37) Lesson recap
â?¨ï¸ (2:10:03) Course wrap up (and the importance of coding every day)
ð??? Thanks to our Champion and Sponsor supporters:
ð??¾ Raymond Odero
ð??¾ AgustÃn Kussrow
ð??¾ aldo ferretti
ð??¾ Otis Morgan
ð??¾ DeezMaster
—
Learn to code for free and get a developer job: https://www.freecodecamp.org
Read hundreds of articles on programming: https://freecodecamp.org/news