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