Skip to content

Грокаем алгоритмы (Grokking Algorithms), А. Бхаргава. Конспект и некоторые примеры на Java

Notifications You must be signed in to change notification settings

yarmail/alg_grok

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Грокаем алгоритмы

О книге: Грокаем алгоритмы (Grokking Algorithms), Адитья Бхаргава. 2017
Рекомендация: рекомендую всем, кто начинает решать алгоритмические задачи,
как книгу для начинающих
Описание проекта: Конспект и решение задач из книги

Важное примечание. Автор рекомендует самостоятельно выполнять код всех
примеров и упражнений, указанных в книге. Это очень важно. Если у вас что-то не
получается, вы можете воспользоваться помощью этого источника:
github.com/egonschiele/grokking_algorithms
По крайней мере просто перепишите, а через какое-то вернитесь и повторите заново.

Жми ★ если понравилось.

Глава 1. Знакомство с алгоритмами

  • Время выполнения алгоритмов
  • Бинарный поиск
  • Задача коммивояжере (простое решение)

Глава 2. Сортировка выбором

  • Как работает память
  • Массивы и связанные списки
  • Сортировка выбором

Глава 3. Рекурсия

  • Рекурсия
  • Вычисление факториала
  • Стек и стек вызовов

Глава 4. Быстрая сортировка

  • "Разделяй и властвуй"
  • Алгоритм Евклида
  • "Разделяй и властвуй" при работе с массивами
  • Быстрая сортировка
  • Эффективность алгоритма быстрой сортировки

Глава 5. Хеш-таблицы

  • Хеш-функции
  • Коллизии

Глава 6. Поиск в ширину

  • Что такое граф
  • Направленные, ненаправленные графы, деревья
  • Поиск в ширину
  • Очередь, использование очереди для поиска в ширину
  • Топологическая сортировка

Глава 7. Алгоритм Дейкстры

  • Алгорит Дейкстры
  • Поиск кратчайшего пути во взвешенном графе
  • Ребра с отрицательным весом

Глава 8. Жадные алгоритмы

  • Задача составления расписания
  • Задача о рюкзаке (приближенное решение)
  • Задача о покрытии множества
  • Приближенные алгоритмы
  • NP-полные задачи
  • Задача о коммивояжере (приближенное решение)

Глава 9. Динамическое программирование

  • Динамическое программирование
  • Задача о рюкзаке (оптимальное решение)
  • Оптимизация туристического маршрута
  • Самая длинная общая подстрока
  • Самая длинная общая подпоследовательность

Глава 10. Алгоритм k ближайших соседей

  • Построение рекомендательной системы
  • Расчет расстояния между точками
  • Извлечение признаков
  • Классификация и регрессия
  • Знакомство с машинным обучением

Глава 11. Что дальше?

  • Деревья
  • Инвертированные индексы
  • Преобразование Фурье
  • Параллельные алгоритмы
  • Фильтры Блума и HyperLogLog
  • Алгоритмы SHA
  • Обмен ключами Диффи-Хеллмана
  • Линейное программирование

About

Грокаем алгоритмы (Grokking Algorithms), А. Бхаргава. Конспект и некоторые примеры на Java

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages