Книги и сайты

Материал из Олимпиадное программирование в УлГТУ
Перейти к навигации Перейти к поиску

Тестирующие системы

Представленные в мониторе:

Другие:

Сайты

Теория:

Демонстрации:

Код:

Книги

Алгоритмы (классические учебники)

  • Introduction to Algorithms / Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. — 4th ed. — Cambridge, MA: MIT Press, 2022. — 1312 p. (сайт книги)
Алгоритмы: построение и анализ / Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. — 3-е изд. — М.: Вильямс, 2013. — 1328 с.
  • Sedgewick R., Wayne K. Algorithms / Robert Sedgewick, Kevin Wayne. — 4th ed. — Boston, MA: Addison-Wesley, 2011. — 976 p. (сайт книги)
Седжвик Р., Уэйн К. Алгоритмы на Java / Роберт Седжвик, Кевин Уэйн. — 4-е изд. — М.: Вильямс, 2013. — 848 с.
  • Skiena S. The Algorithm Design Manual / Steven S. Skiena. — 3rd ed. — Cham: Springer, 2020. — 810 p. (сайт книги)
Скиена С. Алгоритмы. Руководство по разработке / Стивен С. Скиена. — 2-е изд. — СПб.: БХВ-Петербург, 2011. — 720 с.

Олимпиадное программирование

  • Art of Programming Contest / Ed. by A. S. Arefin. — 2nd ed. — Dhaka: Gyankosh Prokashoni, 2006. — 247 p.
  • Halim S., Halim F. Competitive Programming 3 / Steven Halim, Felix Halim. — Raleigh, NC: Lulu, 2013. — 448 p.
  • Halim S., Halim F., Effendy S. Competitive Programming 4. Book 1 / Steven Halim, Felix Halim, Suhendry Effendy. — Lulu, 2020. — 329 p.
  • Halim S., Halim F., Effendy S. Competitive Programming 4. Book 2 / Steven Halim, Felix Halim, Suhendry Effendy. — Lulu, 2020. — 352 p.
  • Laaksonen A. Competitive Programmer’s Handbook / Antti Laaksonen. — 2019. — 300 p.
  • Yao D. An Introduction to the USA Computing Olympiad / Darren Yao. — 2020. — 87 p.
  • Долинский М. С. Решение сложных и олимпиадных задач по программированию / М. С. Долинский. — СПб.: Питер, 2006. — 366 с.
  • Лааксонен А. Олимпиадное программирование. / Антти Лааксонен. — 2-е изд. — М.: ДМК Пресс, 2020. — 328 с.
    Бумажный вариант online-книги того же автора. Порядок глав изменён; добавлены разделы про центроид-декомпозицию, heavy-light-декомпозицию, деревья поиска в глубину, суффиксные массивы, декартовы деревья, оптимизации ДП, параллельный бинпоиск, динамическую связность, FFT, MCMF.
  • Окулов С. М. Основы программирования / С. М. Окулов. — 4-е изд. — М.: БИНОМ, 2008. — 440 с.
  • Окулов С. М. Программирование в алгоритмах / С. М. Окулов. — 3-е изд. — М.: БИНОМ, 2007. — 383 с.
  • Порублев И. Н., Ставровский А. Б. Алгоритмы и программы. Решение олимпиадных задач. — М.: Вильямс, 2007. — 480 с.
  • Скиена С. С., Ревилла М. А. Олимпиадные задачи по программированию. Руководство по подготовке к соревнованиям / С. С. Скиена, М. А. Ревилла. — М.: КУДИЦ-ОБРАЗ, 2005. — 416 с.

Олимпиадное программирование (более сложные темы)

Сборники задач

Литература по темам

Алгоритмы

  • Roughgarden T. Algorithms Illuminated. Part 1: The Basics / Tim Roughgarden. — San-Francisco, CA: Soundlikeyourself Publishing, 2017. — 216 p.
  • Roughgarden T. Algorithms Illuminated. Part 2: Graph Algorithms and Data Structures / Tim Roughgarden. — San-Francisco, CA: Soundlikeyourself Publishing, 2018. — 221 p.
  • Roughgarden T. Algorithms Illuminated. Part 3: Greedy Algorithms and Dynamic Programming / Tim Roughgarden. — New York, NY: Soundlikeyourself Publishing, 2019. — 229 p.
  • Roughgarden T. Algorithms Illuminated. Part 4: Algorithms for NP-Hard Problems / Tim Roughgarden. — New York, NY: Soundlikeyourself Publishing, 2020. — 271 p.
  • Sedgewick R., Flajolet P. An Introduction to the Analysis of Algorithms / Robert Sedgewick, Philippe Flajolet. — 2th ed. — Boston, MA: Addison-Wesley, 2013. — 592 p.
  • Ахо А., Хопкрофт Д., Ульман Д. Построение и анализ вычислительных алгоритмов / А. Ахо, Дж. Хопкрофт, Дж. Ульман. — М.: Мир, 1979. — 536 с.
  • Ахо А., Хопкрофт Д., Ульман Д. Структуры данных и алгоритмы / Альфред В. Ахо, Джон Хопкрофт, Джеффри Д. Ульман. — М.: Вильямс, 2000. — 384 с.
  • Бабенко М. А., Левин М. В. Введение в теорию алгоритмов и структур данных / М. А. Бабенко, М. В. Левин. — М.: МЦНМО, 2016. — 144 с.
    Темы: динамические массивы, амортизационный анализ; сортировка выбором, Ω-оценка для сортировок сравнением, mergesort, quicksort, порядковая статистика (за O(N) в среднем и худшем случае); линейный поиск, бинарный поиск, деревья поиска, splay-деревья; кучи, heapsort, k-ичные кучи, сливаемые кучи (leftist и skew), персистентность, декартовы деревья; хеширование, разрешение коллизий (цепочки, открытая адресация, двойное хеширование), универсальное хеширование, совершенное хеширование, фильтр Блюма; DSU, DSU с отменами; RMQ, деревья отрезков, разреженные таблицы, LCA, сведение LCA к RMQ и наоборот, RMQ и LCA за (O(N), O(1)); динамическое программирование, НВП, перемножение цепочки матриц, принципы ДП.
  • Вирт Н. Алгоритмы и структуры данных / Н. Вирт. — М.: Мир, 1989. — 360 с.
  • Дасгупта С., Пападимитриу Х., Вазирани У. Алгоритмы / С. Дасгупта, Х. Пападимитриу, У. Вазирани. — М.: МЦНМО, 2014. — 320 с.
  • Клейнберг Дж., Тардос Е. Алгоритмы: разработка и применение / Джон Клейнберг, Ева Тардос. — СПб.: Питер, 2016. — 800 с. (слайды лекций)
  • Левитин А. В. Алгоритмы: введение в разработку и анализ / Ананий В. Левитин. — М.: Вильямс, 2006. — 576 с.
  • Макконнелл Дж. Анализ алгоритмов. Вводный курс / Дж. Макконнелл. — М.: Техносфера, 2002. — 304 с.
  • Стивенс Р. Алгоритмы. Теория и практическое применение / Род Стивенс. — М.: Э, 2016. — 544 с.

Структуры данных

Дискретная математика

  • Асанов М. О. Баранский В. А., Расин В. В. Дискретная математика: графы, матроиды, алгоритмы / М. О. Асанов, В. А. Баранский, В. В. Расин. — 3-е изд. — СПб.: Лань, 2020. — 364 с.
  • Грэхем Р., Кнут Д., Паташник О. Конкретная математика. Основание информатики / Р. Грэхем, Д. Кнут, О. Паташник. — М.: Мир, 1998. — 703 с.
  • Кук Д., Бейз Г. Компьютерная математика / Д. Кук, Г. Бейз. — М.: Наука, 1990. — 384 с.
  • Новиков Ф. А. Дискретная математика для программистов / Ф. А. Новиков. — 2-е изд. — СПб.: Питер. 2007. — 364 с.
  • Окулов С. М. Дискретная математика. Теория и практика решения задач по информатике / С. М. Окулов. — 2-е изд. — М.: БИНОМ, 2012. — 422 с.
  • Хаггарти Р. Дискретная математика для программистов / Р. Хаггарти — М.: Техносфера, 2004. — 320 с.

Динамическое программирование

Вычислительная геометрия

Теория графов

  • Кристофидес Н. Теория графов. Алгоритмический подход / Н. Кристофидес. — М.: Мир, 1978. — 432 с.
  • Оре О. Графы и их применение / О. Оре. — М. Мир, 1965. — 175 с.
  • Оре О. Теория графов / О. Оре. — 2-е изд. — М. Наука, 1980. — 336 с.
  • Харари Ф. Теория графов / Под ред. Г. П. Гаврилова. — М.: Едиториал УРСС, 2003. — 296 с.

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

  • Гасфилд Д. Строки, деревья и последовательности в алгоритмах / Дэн Гасфилд. — СПб: Невский диалект; БХВ-Петербург, 2003. — 654 с.
  • Смит Б. Методы и алгоритмы вычислений на строках / Билл Смит. — М.: Вильямс, 2006. — 496 с.

Периодические издания и сборники

2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2016+, 2017, 2017+, 2018, 2019, 2020, 2021, 2022
  • Сборники Зимней школы по программированию ХНУРЭ
2008, 2009, 2010, 2011, 2012, 2013, 2014