Arcadia AI — Master's Program
EN
Program  /  Semester 1 — AI Foundations
Course

Algorithms and Data Structures

Algorithmic thinking and efficient data structures for scalable ML systems

VGALPO
Vitaly Goldshteyn, Petr Mitrichev, Aleksei (seminar), Polina

About the course

This course covers classical algorithms and data structures, with an emphasis on computational complexity and practical applicability in ML infrastructure. Students learn efficient implementations of search, sorting, trees, and graphs, along with algorithms for large-scale data (streaming algorithms, locality-sensitive hashing). Algorithmic analysis skills are essential for the MLOps and ML Engineering courses.

What you'll learn

Analyze the time and space complexity of algorithms and choose the right data structure
Implement efficient index structures for approximate search in high-dimensional spaces
Design streaming algorithms for data that doesn't fit in memory
Justify algorithmic choices in terms of performance at scale

Key topics

Asymptotic analysis: O, Ω, Θ; recurrence relations
Sorting, binary search, hash tables
Trees: BSTs, B-trees, heaps, segment trees
Graphs: BFS, DFS, shortest paths, spanning trees
Dynamic programming and greedy algorithms
Streaming algorithms and sketching
Locality-Sensitive Hashing (LSH) and approximate nearest neighbor search (ANN)
Parallel and distributed primitives (the MapReduce model)
Amortized analysis
This description was generated automatically and has not yet been reviewed by an instructor — it's a draft for discussion.