Advanced Data Structures and Algorithms in Python

Course

Online

£ 10 + VAT

Description

  • Type

    Course

  • Methodology

    Online

  • Start date

    Different dates available

Develop new algorithms and solutions to problems by combining advanced algorithms creatively in Python.As a developer, you’ll have certainly heard about various data structures and algorithms. However, have you ever thought profoundly about them and their impact on the performance of your applications? If not, it’s high time to take a look at this topic, and this course is a one-stop guide to master it! This course will teach you the necessary theory and applications to properly understand the advanced algorithms and data structures that are critical to various problems and how to implement them. We’ll also go hands-on and reveal tips and tricks for optimizations, identifying the right approaches and presenting convincing explanations. And, you will get it all in a modern, popular, and well-documented language: Python. Finally, you’ll learn how to develop complex algorithms that are easy to understand, debug, and reusable in various applications.By the end of the course, you’ll know how to develop complex algorithms that are easy to understand, debug, and reusable in various applications.About the AuthorVlad Sebastian Ionescu is first and foremost a teacher. He holds a Ph.D. in Machine Learning and currently various university courses and tutorials covering languages and concepts such as Python, Java, algorithms and data structures, C#, machine learning, and web development. He also possesses a Stack Overflow gold badge in algorithmic tagging. His philosophy is "if I can't explain it well enough for most people to understand it, I need to go back and understand it better myself before trying again". He has personally run into all of the problems discussed in the course at some point in his professional life. This makes him adept at understanding programming problems – and, more critically, how to resolve them… and how to explain the solutions.

Facilities

Location

Start date

Online

Start date

Different dates availableEnrolment now open

About this course

Improve your problem-solving skills by learning how to approach some out-of-the-box problems
Develop new algorithms and solutions to problems by combining other algorithms in creative ways
Write clean implementations that significantly improve an algorithm’s runtime by taking advantage of various tips and tricks
Avoid certain misconceptions circulating online by discovering how they (probably) got started and learning how to avoid falling for similar ones in the future
Find out why algorithms are not scary things professors and interviewers use to frighten people

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

This centre's achievements

2021

All courses are up to date

The average rating is higher than 3.7

More than 50 reviews in the last 12 months

This centre has featured on Emagister for 4 years

Subjects

  • Algorithms

Course programme

Doing a Lot with Very Little 6 lectures 43:54 The Course Overview This video will give you an overview about the course. From Painfully Slow to Optimal: The Maximum Sum Subarray This video presents the optimal solution (Kadane’s algorithm) for the maximum sum subarray problem and how to arrive at it by optimizing less efficient algorithms. • Understand the problem with examples • Go over some naive solutions • Arrive at the optimal solution and implement it Find the Factorial with a Given Number of Zeros The video explains how to find a factorial, that ends with a given number of trailing zeros, by using some mathematical reasoning and a binary search. • Introduce factorials • Efficiently counting trailing zeros in n factorial • Implement the solution using binary search Find the Given-Length Subarray with the Maximum Minimum Explain the problem requirements with reference to video 1.4 • Understand why binary search and deque is adequate here • Implement the solution, think about an even faster solution • Implement the optimal solution using a deque Array Problems Involving Modulos Understand the problem with examples • Draw some parallels to video 1.5 • Implement the discussed solution • Implement an efficient solution for the problem Useful Math: The Inclusion-Exclusion Principle The video presents the inclusion-exclusion principle and its application to two basic problems, as well as a recursive implementation for one of the problems.
  • Understand the inclusion-exclusion principle and why it is useful
  • Solve a problem mathematically using inclusion-exclusion principle
  • Understand the inclusion-exclusion solution for a problem
Doing a lot with very little - Quiz Doing a Lot with Very Little 6 lectures 43:54 The Course Overview This video will give you an overview about the course. From Painfully Slow to Optimal: The Maximum Sum Subarray This video presents the optimal solution (Kadane’s algorithm) for the maximum sum subarray problem and how to arrive at it by optimizing less efficient algorithms. • Understand the problem with examples • Go over some naive solutions • Arrive at the optimal solution and implement it Find the Factorial with a Given Number of Zeros The video explains how to find a factorial, that ends with a given number of trailing zeros, by using some mathematical reasoning and a binary search. • Introduce factorials • Efficiently counting trailing zeros in n factorial • Implement the solution using binary search Find the Given-Length Subarray with the Maximum Minimum Explain the problem requirements with reference to video 1.4 • Understand why binary search and deque is adequate here • Implement the solution, think about an even faster solution • Implement the optimal solution using a deque Array Problems Involving Modulos Understand the problem with examples • Draw some parallels to video 1.5 • Implement the discussed solution • Implement an efficient solution for the problem Useful Math: The Inclusion-Exclusion Principle The video presents the inclusion-exclusion principle and its application to two basic problems, as well as a recursive implementation for one of the problems.
  • Understand the inclusion-exclusion principle and why it is useful
  • Solve a problem mathematically using inclusion-exclusion principle
  • Understand the inclusion-exclusion solution for a problem
Doing a lot with very little - Quiz The Course Overview This video will give you an overview about the course. The Course Overview This video will give you an overview about the course. The Course Overview This video will give you an overview about the course. The Course Overview This video will give you an overview about the course. This video will give you an overview about the course. This video will give you an overview about the course. From Painfully Slow to Optimal: The Maximum Sum Subarray This video presents the optimal solution (Kadane’s algorithm) for the maximum sum subarray problem and how to arrive at it by optimizing less efficient algorithms. • Understand the problem with examples • Go over some naive solutions • Arrive at the optimal solution and implement it From Painfully Slow to Optimal: The Maximum Sum Subarray This video presents the optimal solution (Kadane’s algorithm) for the maximum sum subarray problem and how to arrive at it by optimizing less efficient algorithms. • Understand the problem with examples • Go over some naive solutions • Arrive at the optimal solution and implement it From Painfully Slow to Optimal: The Maximum Sum Subarray This video presents the optimal solution (Kadane’s algorithm) for the maximum sum subarray problem and how to arrive at it by optimizing less efficient algorithms. • Understand the problem with examples • Go over some naive solutions • Arrive at the optimal solution and implement it From Painfully Slow to Optimal: The Maximum Sum Subarray This video presents the optimal solution (Kadane’s algorithm) for the maximum sum subarray problem and how to arrive at it by optimizing less efficient algorithms. • Understand the problem with examples • Go over some naive solutions • Arrive at the optimal solution and implement it This video presents the optimal solution (Kadane’s algorithm) for the maximum sum subarray problem and how to arrive at it by optimizing less efficient algorithms. • Understand the problem with examples • Go over some naive solutions • Arrive at the optimal solution and implement it This video presents the optimal solution (Kadane’s algorithm) for the maximum sum subarray problem and how to arrive at it by optimizing less efficient algorithms. • Understand the problem with examples • Go over some naive solutions • Arrive at the optimal solution and implement it Find the Factorial with a Given Number of Zeros The video explains how to find a factorial, that ends with a given number of trailing zeros, by using some mathematical reasoning and a binary search. • Introduce factorials • Efficiently counting trailing zeros in n factorial • Implement the solution using binary search Find the Factorial with a Given Number of Zeros The video explains how to find a factorial, that ends with a given number of trailing zeros, by using some mathematical reasoning and a binary search. • Introduce factorials • Efficiently counting trailing zeros in n factorial • Implement the solution using binary search Find the Factorial with a Given Number of Zeros The video explains how to find a factorial, that ends with a given number of trailing zeros, by using some mathematical reasoning and a binary search. • Introduce factorials • Efficiently counting trailing zeros in n factorial • Implement the solution using binary search Find the Factorial with a Given Number of Zeros The video explains how to find a factorial, that ends with a given number of trailing zeros, by using some mathematical reasoning and a binary search. • Introduce factorials • Efficiently counting trailing zeros in n factorial • Implement the solution using binary search The video explains how to find a factorial, that ends with a given number of trailing zeros, by using some mathematical reasoning and a binary search. • Introduce factorials • Efficiently counting trailing zeros in n factorial • Implement the solution using binary search The video explains how to find a factorial, that ends with a given number of trailing zeros, by using some mathematical reasoning and a binary search. • Introduce factorials • Efficiently counting trailing zeros in n factorial • Implement the solution using binary search Find the Given-Length Subarray with the Maximum Minimum Explain the problem requirements with reference to video 1.4 • Understand why binary search and deque is adequate here • Implement the solution, think about an even faster solution • Implement the optimal solution using a deque Find the Given-Length Subarray with the Maximum Minimum Explain the problem requirements with reference to video 1.4 • Understand why binary search and deque is adequate here • Implement the solution, think about an even faster solution • Implement the optimal solution using a deque Find the Given-Length Subarray with the Maximum Minimum Explain the problem requirements with reference to video 1.4 • Understand why binary search and deque is adequate here • Implement the solution, think about an even faster solution • Implement the optimal solution using a deque Find the Given-Length Subarray with the Maximum Minimum Explain the problem requirements with reference to video 1.4 • Understand why binary search and deque is adequate here • Implement the solution, think about an even faster solution • Implement the optimal solution using a deque Explain the problem requirements with reference to video 1.4 • Understand why binary search and deque is adequate here • Implement the solution, think about an even faster solution • Implement the optimal solution using a deque Explain the problem requirements with reference to video 1.4 • Understand why binary search and deque is adequate here • Implement the solution, think about an even faster solution • Implement the optimal solution using a deque Array Problems Involving Modulos Understand the problem with examples • Draw some parallels to video 1.5 • Implement the discussed solution • Implement an efficient solution for the problem Array Problems Involving Modulos Understand the problem with examples • Draw some parallels to video 1.5 • Implement the discussed solution • Implement an efficient solution for the problem Array Problems Involving Modulos Understand the problem with examples • Draw some parallels to video 1.5 • Implement the discussed solution • Implement an efficient solution for the problem Array Problems Involving Modulos Understand the problem with examples • Draw some parallels to video 1.5 • Implement the discussed solution • Implement an efficient solution for the problem Understand the problem with examples • Draw some parallels to video 1.5 • Implement the discussed solution • Implement an efficient solution for the problem Understand the problem with examples • Draw some parallels to video 1.5 • Implement the discussed solution • Implement an efficient solution for the problem Useful Math: The Inclusion-Exclusion Principle The video presents the inclusion-exclusion principle and its application to two basic problems, as well as a recursive implementation for one of the problems.
  • Understand the inclusion-exclusion principle and why it is useful
  • Solve a problem mathematically using inclusion-exclusion principle
  • Understand the inclusion-exclusion solution for a problem
Useful Math: The Inclusion-Exclusion Principle The video presents the inclusion-exclusion principle and its application to two basic problems, as well as a recursive implementation for one of the problems.
  • Understand the inclusion-exclusion principle and why it is useful
  • Solve a problem mathematically using inclusion-exclusion principle
  • Understand the inclusion-exclusion solution for a problem
Useful Math: The Inclusion-Exclusion Principle The video presents the inclusion-exclusion principle and its application to two basic problems, as well as a recursive implementation for one of the problems.
  • Understand the inclusion-exclusion principle and why it is useful
  • Solve a problem mathematically using inclusion-exclusion principle
  • Understand the inclusion-exclusion solution for a problem
Useful Math: The Inclusion-Exclusion Principle The video presents the inclusion-exclusion principle and its application to two basic problems, as well as a recursive implementation for one of the problems.
  • Understand the inclusion-exclusion principle and why it is useful
  • Solve a problem mathematically using inclusion-exclusion principle
  • Understand the inclusion-exclusion solution for a problem
The video presents the inclusion-exclusion principle and its application to two basic problems, as well as a recursive implementation for one of the problems.
  • Understand the inclusion-exclusion principle and why it is useful
  • Solve a problem mathematically using inclusion-exclusion principle
  • Understand the inclusion-exclusion solution for a problem
The video presents the inclusion-exclusion principle and its application to two basic problems, as well as a recursive implementation for one of the problems.
  • Understand the inclusion-exclusion principle and why it is useful
  • Solve a problem mathematically using inclusion-exclusion principle
  • Understand the inclusion-exclusion solution for a problem
Doing a lot with very little - Quiz Doing a lot with very little - Quiz Doing a lot with very little - Quiz Doing a lot with very little - Quiz More Complex Algorithms on Arrays. 5 lectures 38:54 Rolling Hashes for Constructing a Palindrome The video presents an algorithm using rolling hashes, for optimally determining the minimum number of characters we need, to append to a string, in order to turn it into a palindrome.
  • Recap palindromes and briefly explain hashes
  • Understand the math behind rolling hashes and the solution
  • Implement the solution and discuss potential shortcomings
Efficiently Counting Subarrays with a Given Sum This video shows how we can draw on ideas from video 1.5 in order to efficiently count how many subarrays have a given sum.
  • Understand the problem with examples
  • Draw some parallels to video 1 zations, using standard Python
  • Understand a very powerful optimization using NumPy
This video presents four...

Additional information

Basic programming knowledge in python is required.

Advanced Data Structures and Algorithms in Python

£ 10 + VAT