Advanced Algorithmic Thinking with Python

Advanced Algorithmic Thinking with Python

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 1h 8m | 184 MB

The need for competent problem solvers has never been greater, and Python has become an important programming language. Because of its clarity and expressiveness, Python is an ideal tool to explore algorithmic thinking. In this course, Robin Andrews explains algorithmic thinking and guides you through puzzles, problems, and theories to help you build and challenge your skills. After a warmup problem, Robin shows you how to use the divide and conquer problem solving technique and the Quicksort algorithm, with puzzles to practice each. He dives into the transform and conquer technique that applies preprocessing to the data for a problem before implementing a solution, with additional puzzles for practice. Robin goes over dynamic programming, both top-down and bottom-up, and gives you problems to practice both theory and implementation. Plus, he introduces and explains hash tables and how you can use them to solve problems in Python.

Table of Contents

Introduction
1 Exploration of algorithmic thinking
2 Use GitHub Codespaces with this course

Warmup
3 The two-sum interview problem
4 The two-sum interview problem solution
5 Number placement puzzle

Divide and Conquer
6 Triominoes puzzle
7 Triominoes puzzle solution
8 Introduction to divide and conquer
9 Quicksort introduction
10 Implementing Quicksort in Python
11 Challenge Implementing Fibonacci function in Python
12 Solution Implementing Fibonacci function in Python

Transform and Conquer
13 Coins on a star puzzle
14 Coins on a star puzzle solution
15 Introduction to transform and conquer
16 Presort for mode finding
17 Number placement puzzle revisited
18 Challenge Implement number puzzle solution in Python
19 Solution Implement number puzzle solution in Python

Dynamic Programming
20 Introduction to dynamic programming
21 Top-down dynamic programming example
22 Bottom-up dynamic programming example
23 The knapsack problem Theory
24 The knapsack problem Python implementation
25 Challenge The knapsack problem
26 Solution The knapsack problem

Hash Tables
27 What are hash tables
28 Python code for hash tables
29 Python dictionaries
30 Two-sum problem revisited
31 Challenge Ransom note
32 Solution Ransom note

Conclusion
33 Next steps

Homepage