Учебник

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

Сложность, поиск, сортировки, деревья, графы и динамическое программирование. Реализации, контрпримеры и проверяемые задачи на Go.

16 глав 96 мин чтенияТеория и практика
Начать читать

Содержание

Бесплатный практический курс
  1. 01Задача, договор и доказательство решения6 мин
  2. 02Сколько стоит решение: время, память и модель вычислений6 мин
  3. 03Последовательности и двоичный поиск по границе6 мин
  4. 04Словари, множества и скользящее окно6 мин
  5. 05Стек и очередь: порядок обработки как часть договора6 мин
  6. 06Рекурсия: уменьшаем задачу и учитываем стек6 мин
  7. 07Сортировки: порядок, устойчивость и цена преобразования6 мин
  8. 08Деревья поиска: инвариант, высота и баланс6 мин
  9. 09Куча и очередь приоритетов: выбирать следующий минимум6 мин
  10. 10Графы и BFS: путь с минимальным числом переходов6 мин
  11. 11DFS, циклы и порядок зависимых задач6 мин
  12. 12Взвешенные пути: релаксация и алгоритм Дейкстры6 мин
  13. 13Динамическое программирование: состояние, переход и порядок6 мин
  14. 14Жадный выбор: доказываем, когда локальное решение достаточно6 мин
  15. 15Непересекающиеся множества: компоненты и объединения6 мин
  16. 16Финальный проект: планировщик, маршруты и защита выбора6 мин

Как учиться

Проходите главы по порядку. Сначала выполните самостоятельное задание, затем сравните результат с критериями и прочитайте разбор. Время рядом с главой относится к чтению; на практику понадобится отдельное время.

Сохраняйте команды, результаты и объяснения в своей рабочей папке. Финальное задание проверяет, можете ли вы собрать решение и объяснить его без пошаговой инструкции.

Скачать бесплатный комплект лабораторий. Требования к среде и команды запуска указаны в README внутри архива и в первой главе. Для обязательных упражнений платное облако не требуется.