Skip to content
UdemyData Structures and AlgorithmsPaid courseAll LevelsCertificate

Advanced Algorithms and Data Structures in Python (Udemy.com)

Fenwick trees, Caches, Splay Trees, Prefix Trees (Tries), Substring-Search Algorithms and Travelling Salesman Problem

Created by: Holczer Balazs

Last updated January 2022

icon
What you will learn

  • Have a good grasp of algorithmic thinking
  • Be able to develop your own algorithms
  • Be able to detect and correct inefficient code snippets
  • Understand Fenwick trees
  • Understand caches (LRU caches and Splay Trees)
  • Understand tries and ternary search trees
  • Understand substring search algorithms (Rabin-Karp method, KMP algorithm and Z algorithm)
  • Understand the Hamiltonian cycle problem (and travelling salesman problem)
  • Understand Eulerian cycle problem

How it compares

Against the other 86 rated Udemy courses in Data Structures and Algorithms on CourseDuck:

  • Rating4.6 out of 5higher than 66% of them
  • Reviews74#78 of 87 by number of reviews
  • Length10.3 hoursshorter than 55% of them
  • Last updatedJanuary 2022earlier than 68% of them

icon
Course Description

This course is for those who are interested in computer science and want to implement the algorithms and given data structures in Python. In every chapter you will learn about the theory of a given data structure or algorithm and then you will implement them from scratch.

Chapter 1: Binary Indexed Trees (Fenwick Trees)

  • theory behind the binary indexed tree or Fenwick tree data structure

  • how to use this data structure in computer vision and artificial intelligence

  • implementation in Python

Chapter 2: LRU Caches

  • what are caches and why are they so important

  • how to use doubly linked lists to implement caches

  • theory behind LRU caches

  • implementation in Python

Chapter 3: Splay Trees

  • what are splay trees

  • how to achieve caches with splay trees

Chapter 4: B-Trees

  • external memory and internal memory (RAM)

  • data structures for the external memory

  • trees with multiple children and multiple keys

  • what are B-tree data structures?

Chapter 5: Prefix Trees (Tries)

  • what are tries or prefix trees

  • real world applications of tries

  • autocomplete feature of tries

  • sorting with tries

  • IP routing

Chapter 6: Ternary Search Trees

  • what are ternary search trees

  • boggle game with tries

Chapter 7: Substring Search Algorithms

  • what are substring search algorithms and why are they important in real world softwares

  • brute-force substring search algorithm

  • hashing and Rabin-Karp method

  • Knuth-Morris-Pratt substring search algorithm

  • Z substring search algorithm (Z algorithm)

  • implementations in Python

Chapter 8: Topological Ordering

  • what is topological ordering (topological sort)?

  • topological ordering implementation with depth-first search

Chapter 9: Cycle Detection

  • how to detect cycles in graphs?

Chapter 10: Strongly Connected Components (Tarjan's Algorithm)

  • what are strongly connected components?

  • Tarjan's algorithm with depth-first search

Chapter 11: Hamiltonian cycles (Travelling Salesman Problem)

  • Hamiltonian cycles in graphs

  • what is the travelling salesman problem?

  • how to use backtracking to solve the problem

  • meta-heuristic approaches to boost algorithms

Chapter 12: Eulerian Cycles (Chinese Postman Problem)

  • Eulerian cycles in graphs

  • what is the chinese postman problem?

Thanks for joining my course, let's get started!


icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model.

Take a look at my website if you are interested in these topics!

icon
More courses by Holczer Balazs

$16.99

$10.99

$11.99

$10.99

$13.99

$13.99

icon
More Data Structures and Algorithms courses

Free

$119.99

Free

$99.99

$109.99

$84.99

icon
Reviews

4.6

74 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Gusst Zanna on 6/26/2025

This guy is just too damn good!

By Mürşide Aki on 1/7/2024

It is very useful course and I learned lots of things thank you:)

By Jiefei Wang on 8/17/2023

Overall it is great. A bit easier than than the expectation. Some part of contents are not consistent in this version. For example, the Caches section refers to Splay Tree, which is the section after the Caches in this version; the Splay Tree section refers to Red-Black tree, which is removed in this version.

By Alexroy on 1/5/2023

the instructor is amazing, explanation is crystal clear, knowledge is next level

By Dmitry Karlov on 12/19/2022

It would be great to add coding exercises.

By Jay Pedersen on 11/22/2022

Visualization of algorithms is the strength of this course. You are also provided with working python code. I believe I tried each python program and did not have any issue with them. That is a nice treat. Excellent course!

By Linan Su on 11/6/2022

Excellent course on Algorithm and Data Structure. I enjoy it very much.

By Abhinav Kumar on 9/30/2021

Some implementation are missing. Like Chinese and N-nary tree. Otherwise great.

By Malhar Vora on 8/8/2021

IMHO speech has to be a bit slow. Author continuously speaks which feels overwhelming sometimes.

By Jim Woodward on 9/7/2020

The explanations are very clear and the content is outstanding.

Showing all 10 reviews on CourseDuck

Read all 74 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100