Алгоритмы и структуры данных

Big O, деревья, графы и всё, что спрашивают на собеседованиях

Уроки курса (8)

  1. Big O: оцениваем скорость алгоритмов — Нотация Big O, временная и пространственная сложность, как оценивать код на глаз
  2. Слайсы изнутри: память, capacity и подводные камни — Как устроены слайсы в Go на уровне памяти, почему append может сломать всё и как этого избежать
  3. Map изнутри: хеш-таблицы в Go — Как устроены map в Go, что такое хеш-коллизии и когда map лучше слайса
  4. Стек и очередь: два базовых контейнера — Реализация стека и очереди на слайсах, проверка скобок, BFS
  5. Связный список: когда слайс не подходит — Односвязный и двусвязный списки, container/list, сравнение со слайсами
  6. Бинарное дерево поиска — BST: вставка, поиск, удаление, обходы дерева и балансировка
  7. Графы: BFS, DFS и топологическая сортировка — Представление графов, обход в ширину и глубину, поиск кратчайшего пути, порядок зависимостей
  8. Сортировка и бинарный поиск — sort.Slice, sort.Interface, бинарный поиск, сравнение алгоритмов сортировки