Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
Advanced Algorithmic Thinking with Python

Advanced Algorithmic Thinking with Python

1h 7mAdvanced2022-08-04

Authors

Robin Andrews

Robin Andrews

Founder of Compucademy

Course details

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.

Skills covered

PythonProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off

Concepts

0. Introduction

  • 01 - Exploration of algorithmic thinking

1. Warmup

  • 02 - The two-sum interview problem
  • 03 - The two-sum interview problem solution
  • 04 - Number placement puzzle

2. Divide and Conquer

  • 05 - Triominoes puzzle
  • 06 - Triominoes puzzle solution
  • 07 - Introduction to divide and conquer
  • 08 - Quicksort introduction
  • 09 - Implementing Quicksort in Python
  • 10 - Challenge - Implementing Fibonacci function in Python
  • 11 - Solution - Implementing Fibonacci function in Python

3. 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

4. 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

5. 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

Related courses

Related learn paths

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
zarinpal
zibal