top of page

about the course

Принципи, що лежать в основі алгоритмів та структур даних, є актуальними для будь-якого стеку технологій. Якщо ви їх розумієте, ваш код стає більш надійним, швидким та якісним, ви починаєте бачити різні варіанти вирішення проблеми та можете обрати найкращий.

Ми дізнаємося як алгоритми використовуються продакшені, виведемо з нуля основні ідеї, вирішимо безліч задач та побачимо з якими труднощами стикалися автори популярних бібліотек.

curriculum things will get hot

  • Асимптотика ітеративних та рекурсивних програм

  • Ймовірнісний аналіз алгоритмів

Analysis of algorithms

  • Class of problems covered by the two-pointer method

  • Prefix sums on arrays and matrices

Two pointers technique

  • Core Idea as a Technique for Speeding Up Code

  • Jump Search & Galloping Search

  • Binary Search in Production Systems and on Unsorted Data

  • Lower Bound for the Search Problem

Searching and sqrt decomposition

  • External Sort – Sorting gigabytes of data efficiently

  • Convex Hull Problem – Or how to optimally surround the enemy with a wall

  • Quick Sort & Quick Select – Featuring the Dutch National Flag problem

  • The Link Between Selection Sort & Heap Sort

Sorting and "divide&conquer"

  • Find Most Similar Websites

  • Implementing TTL Support in Redis

  • Top-K Most Popular Elements 

Heap and linear data structures

  • LRU Cache & Optimal Cache Eviction Algorithms 

  • Huffman Coding – How to compress data efficiently

  • Event Scheduling Problem

  • Minimum Spanning Tree 

Greedy algorithms

  • Комбінаторні об'єкти та їх перебір

  • Backtracking або як заповнити Sudoku

  • Хвостова рекурсія. Tail call оптимізація

Recursion

  • Reservoir sampling на MapReduce

  • Як компактно представити хеш-таблицю в пам'яті

  • Вирішення колізій. Chaining та Linear Probing

  • Bloom filter або що роботи якщо дані не влазять в пам'ять?

Probabilistic algorithms and data structures

  • The algorithm behind spell checkers

  • Як виграти в Blackjack та "красиво" зменшити розмір картинки

  • Knapsack та оптимальний шлях робота в лабіринті

Dynamic programming

  • Розберемо DFS та BFS і реалізуємо Web Crawler та PSTree Linu

  • Circular dependencies errors і при чому тут Topological sort

  • Знаходження найкоротших шляхів: Dijkstra, Bellman-Ford

  • Binary search tree та як їх легко балансувати? AVL, Treap

Graphs and trees

read by

_іван.jpg

Ivan Petrushenko

Engineering Lead at Squad, Founder at CS Osvita.
Former: Dell Software Engineer, Fiverr Senior Software Engineer, Ring Machine Learning Engineer.

algorithms for interview

Solve problems 
at the speed of thought.

{format}

start:

{3 months | 27 classes}

{3 months}

{12,000₴/month}

bottom of page