Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

Algorithms in Python – Full Course for Beginners

via freeCodeCamp

Overview

Embark on a comprehensive 2-3 hour journey through algorithm fundamentals in Python, progressing from basic recursive algorithms to advanced concepts like dynamic programming. Explore five key segments: simple recursive algorithms, data structures, divide & conquer, greedy algorithms, and dynamic programming. Engage with hands-on coding challenges, including factorial programs, permutations, and the 8/N queens problem. Dive into essential data structures like arrays, linked lists, and hash tables while mastering search and sort techniques such as linear search, binary search, bubble sort, and insertion sort. Uncover the power of divide & conquer algorithms through merge sort and matrix multiplication. Grasp greedy algorithms with real-world examples like the fractional knapsack problem. Conclude by tackling dynamic programming challenges, including ugly numbers, the traveling salesman problem, and palindromic matrix paths. Access provided code samples and follow along with the detailed course contents to enhance your algorithmic problem-solving skills in Python.

Syllabus

⌨️ Intro & course overview
⌨️ Factorials refresher
⌨️ CODING CHALLENGE: Factorial program using iteration, recursion
⌨️ What is a permutation?
⌨️ CODING CHALLENGE: Recursive permutation
⌨️ Iterative permutation example
⌨️ 8/N queens problem: theory & explanation
⌨️ Real world example of permutations
⌨️ Lesson recap
⌨️ What are data structures?
⌨️ What is a one-dimensional array?
⌨️ Search & sort
⌨️ CODING CHALLENGE: Linear search
⌨️ Binary search
⌨️ CODING CHALLENGE: Iterative binary search
⌨️ Coding a recursive binary search
⌨️ Bubble sort
⌨️ CODING CHALLENGE: Bubble sort
⌨️ Insertion sort
⌨️ CODING CHALLENGE: Insertion sort
⌨️ Linked lists
⌨️ CODING CHALLENGE: Linked list traverse, search, add, delete, header, nodes, tail
⌨️ Hash tables
⌨️ Lesson recap
⌨️ Divide & conquer algorithm paradigm: uses, benefits and more
⌨️ Merge sort
⌨️ CODING CHALLENGE: An efficient merge sort
⌨️ Getting judged mercilessly on LeetCode
⌨️ Getting Python to do the work for us with sorted
⌨️ Matrix multiplication
⌨️ CODING CHALLENGE: Matrix multiplication
⌨️ Strassen algorithm
⌨️ CODING CHALLENGE: Strassen algorithm
⌨️ Lesson recap
⌨️ What is a greedy algorithm?
⌨️ Assign mice to holes conceptual overview
⌨️ CODING CHALLENGE: Assign mice to holes
⌨️ Fractional knapsack
⌨️ Understanding the fractional knapsack problem with a light-hearted dystopian apocalypse example
⌨️ Coding challenge prep
⌨️ CODING CHALLENGE: Fractional knapsack
⌨️ Egyptians fractions
⌨️ CODING CHALLENGE: Egyptian fractions
⌨️ Lesson recap
⌨️ What is dynamic programming also called DP?
⌨️ What is the principle of optimality?
⌨️ The 3-step process to solving a problem with optimal substructure
⌨️ Introduction to “ugly numbers”
⌨️ CODING CHALLENGE: Ugly numbers
⌨️ Traveling salesman problem TSP
⌨️ CODING CHALLENGE: Traveling salesman problem
⌨️ Palindromic matrix paths
⌨️ CODING CHALLENGE: Palindromic matrix paths
⌨️ Lesson recap
⌨️ Course wrap up and the importance of coding every day

Taught by

freeCodeCamp.org

Reviews

Start your review of Algorithms in Python – Full Course for Beginners

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.