про курс
Принципи, що лежать в основі алгоритмів та структур даних, є актуальними для будь-якого стеку технологій. Якщо ви їх розумієте, ваш код стає більш надійним, швидким та якісним, ви починаєте бачити різні варіанти вирішення проблеми та можете обрати найкращий.
Ми дізнаємося як алгоритми використовуються продакшені, виведемо з нуля основні ідеї, вирішимо безліч задач та побачимо з якими труднощами стикалися автори популярних бібліотек.
навчальний план
буде гаряче
-
Асимптотика ітеративних та рекурсивних програм
-
Ймовірнісний аналіз алгоритмів
analysis of algorithms
Клас задач, що покриваються методом двох вказівників
Префікс-суми на масиві та матриці
two pointers technique
Коренева ідея як техніка до пришвидшення коду
Jump search та Galloping search
Binary search в продакшн системах та на невідсортованих даних
Нижня оцінка на задачу пошуку
searching and sqrt decomposition
External sort для сортування гігабайтів даних
Задача Convex Hull або як оптимально оточити русню стіною
Quick sort та Quick select. Задача Dutch National Flag
Звязок між Selection sort та Heap sort
sorting and "divide&conquer"
Find most similar websites
Як реалізувати підтримку TTL в Redis
Top-K найпопулярніших елементів
heap and linear data structures
LRU cache та оптимальний cache eviction алгоритм
Huffman coding або як стискати дані?
Задача планування розпорядку подій
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
читає
Іван Петрушенко
Engineering Lead y Squad, Founder в 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}
старт:
{3 місяці | 27 занять}
{3 місяці}
{12 000₴/міс}