Advanced Algorithms and Data Structures in Python
Master advanced data structures & algorithms: Fenwick Trees, Caches, Splay Trees, Tries, substring search, and TSP. Boost your problem-solving skills!
Course Content
Advanced Algorithms and Data Structures in Python is an all-levels Udemy course taught by Holczer Balazs. It runs 10h 20m, is taught in English, and includes a certificate of completion. Learners rate it 4.6 out of 5 from 73 reviews, with 3,335 students enrolled. It is a paid course, last updated January 2022.
Dive into the world of computer science and master essential algorithms and data structures with Python! This course provides hands-on experience, combining theoretical understanding with practical Python implementation. You'll build a strong foundation in core computer science concepts through coding exercises in every chapter.
Binary Indexed Trees (Fenwick Trees): Explore the theory behind Binary Indexed Trees (also known as Fenwick Trees) and learn how to efficiently use them in applications like computer vision and artificial intelligence. Gain practical skills with Python implementation.
LRU Caches: Understand the importance of caches in optimizing performance. Learn how to implement LRU (Least Recently Used) caches using doubly linked lists and gain insights into cache design principles. Python implementation included.
Splay Trees: Discover Splay Trees and their advantages for building efficient caches. Learn how these self-adjusting trees optimize performance. Python implementation provided.
B-Trees: Delve into B-Trees, a crucial data structure for managing large datasets, especially in external memory systems. Understand how B-Trees handle multiple children and keys, and their role in database systems.
Prefix Trees (Tries): Unlock the power of Prefix Trees (also known as Tries) for efficient string searching and autocomplete features. Explore real-world applications like IP routing and sorting with Tries.
Ternary Search Trees: Learn about Ternary Search Trees and their application in solving puzzles like the Boggle game.
Substring Search Algorithms: Master various substring search algorithms, including the brute-force method, hashing with the Rabin-Karp method, the Knuth-Morris-Pratt (KMP) algorithm, and the Z-algorithm. Gain proficiency with Python implementations.
Topological Ordering: Understand and implement topological ordering using depth-first search (DFS). A fundamental concept for directed acyclic graphs.
Cycle Detection: Learn techniques for detecting cycles in graphs, a critical skill in graph analysis and algorithm design.
Strongly Connected Components (Tarjan's Algorithm): Discover Tarjan's algorithm for identifying strongly connected components in directed graphs using depth-first search.
Hamiltonian Cycles & Traveling Salesman Problem: Explore Hamiltonian cycles in graphs and the classic Traveling Salesman Problem (TSP). Learn how to apply backtracking and meta-heuristic approaches to find optimal solutions.
Eulerian Cycles (Chinese Postman Problem): Understand Eulerian cycles in graphs and the Chinese Postman Problem.
Ready to enhance your Python programming skills and become proficient in data structures and algorithms? Let's begin!
Need a web app built? Hire the team behind TutorialSearch.io
We ship fast, production-grade full-stack apps (Next.js, React, edge infra) — the same stack that powers this site.