English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 1h 07m | 186 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

**Warmup**

2 The two-sum interview problem

3 The two-sum interview problem solution

4 Number placement puzzle

**Divide and Conquer**

5 Triominoes puzzle

6 Triominoes puzzle solution

7 Introduction to divide and conquer

8 Quicksort introduction

9 Implementing Quicksort in Python

10 Challenge Implementing Fibonacci function in Python

11 Solution Implementing Fibonacci function in Python

**Transform and Conquer**

12 Coins on a star puzzle

13 Coins on a star puzzle solution

14 Introduction to transform and conquer

15 Presort for mode finding

16 Number placement puzzle revisited

17 Challenge Implement number puzzle solution in Python

18 Solution Implement number puzzle solution in Python

**Dynamic Programming**

19 Introduction to dynamic programming

20 Top-down dynamic programming example

21 Bottom-up dynamic programming example

22 The knapsack problem Theory

23 The knapsack problem Python implementation

24 Challenge The knapsack problem

25 Solution The knapsack problem

**Hash Tables**

26 What are hash tables

27 Python code for hash tables

28 Python dictionaries

29 Two-sum problem revisited

30 Challenge Ransom note

31 Solution Ransom note

**Conclusion**

32 Next steps

Resolve the captcha to access the links!