Книги и сайты: различия между версиями
Перейти к навигации
Перейти к поиску
Ctrlalt (обсуждение | вклад) (→Сайты) |
Ctrlalt (обсуждение | вклад) Нет описания правки |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 10: | Строка 10: | ||
* [http://cses.fi/problemset cses.fi/problemset] | * [http://cses.fi/problemset cses.fi/problemset] | ||
Другие: | Другие: | ||
* [http://open.kattis.com open.kattis.com] | |||
* [http://beecrowd.com.br beecrowd.com.br] | |||
* [http://leetcode.com leetcode.com] | * [http://leetcode.com leetcode.com] | ||
Строка 18: | Строка 20: | ||
* [http://brestprog.by/topics/ brestprog.by] | * [http://brestprog.by/topics/ brestprog.by] | ||
* [https://ru.algorithmica.org/ ru.algorithmica.org], [http://algorithmica.org/ru/ algorithmica.org/ru], [http://algorithmica.org/tg/ algorithmica.org/tg], [https://wiki.algocode.ru/index.php?title=%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B2%D1%81%D0%B5%D1%85_%D0%BA%D0%BE%D0%BD%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D0%BE%D0%B2 wiki.algocode.ru] | * [https://ru.algorithmica.org/ ru.algorithmica.org], [http://algorithmica.org/ru/ algorithmica.org/ru], [http://algorithmica.org/tg/ algorithmica.org/tg], [https://wiki.algocode.ru/index.php?title=%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B2%D1%81%D0%B5%D1%85_%D0%BA%D0%BE%D0%BD%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D0%BE%D0%B2 wiki.algocode.ru] | ||
* [https://codeforces.com/catalog codeforces.com/catalog] | |||
* [https://usaco.guide usaco.guide] | * [https://usaco.guide usaco.guide] | ||
* [http://www.topcoder.com/community/data-science/data-science-tutorials/ topcoder.com] | * [http://www.topcoder.com/community/data-science/data-science-tutorials/ topcoder.com] | ||
Строка 30: | Строка 33: | ||
== Книги == | == Книги == | ||
=== Алгоритмы (классические учебники) === | === Алгоритмы (классические учебники) === | ||
* Introduction to Algorithms / Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. — | * Introduction to Algorithms / Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. — 4th ed. — Cambridge, MA: MIT Press, 2022. — 1312 p. ([http://mitpress.mit.edu/9780262046305/introduction-to-algorithms/ сайт книги]) | ||
: Алгоритмы: построение и анализ / Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. — 3-е изд. — М.: Вильямс, 2013. — 1328 с. | : Алгоритмы: построение и анализ / Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. — 3-е изд. — М.: Вильямс, 2013. — 1328 с. | ||
* Sedgewick R., Wayne K. Algorithms / Robert Sedgewick, Kevin Wayne. — 4th ed. — Boston, MA: Addison-Wesley, 2011. — 976 p. ([http://algs4.cs.princeton.edu сайт книги]) | * Sedgewick R., Wayne K. Algorithms / Robert Sedgewick, Kevin Wayne. — 4th ed. — Boston, MA: Addison-Wesley, 2011. — 976 p. ([http://algs4.cs.princeton.edu сайт книги]) | ||
Строка 38: | Строка 41: | ||
=== Олимпиадное программирование === | === Олимпиадное программирование === | ||
* [https://www.comp.nus.edu.sg/~stevenha/database/Art_of_Programming_Contest_SE_for_uva.pdf Art of Programming Contest / Ed. by A. S. Arefin. | * [https://www.comp.nus.edu.sg/~stevenha/database/Art_of_Programming_Contest_SE_for_uva.pdf Art of Programming Contest / Ed. by A. S. Arefin. — 2nd ed. — Dhaka: Gyankosh Prokashoni, 2006. — 247 p.] | ||
* [ | * {{GoodBadge}} [https://github.com/prasadgujar/CompetitiveProgramming/blob/master/book/Competitive%20Programming%203.pdf 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. | ||
* {{GoodBadge}} [https://github.com/pllk/cphb/blob/master/book.pdf Laaksonen A. Competitive Programmer’s Handbook / Antti Laaksonen. | * Halim S., Halim F., Effendy S. Competitive Programming 4. Book 2 / Steven Halim, Felix Halim, Suhendry Effendy. — Lulu, 2020. — 352 p. | ||
* [http://darrenyao.com/usacobook/cpp.pdf Yao D. An Introduction to the USA Computing Olympiad / Darren Yao. | * {{GoodBadge}} [https://github.com/pllk/cphb/blob/master/book.pdf Laaksonen A. Competitive Programmer’s Handbook / Antti Laaksonen. — 2019. — 300 p.] | ||
* [http://darrenyao.com/usacobook/cpp.pdf Yao D. An Introduction to the USA Computing Olympiad / Darren Yao. — 2020. — 87 p.] | |||
* Долинский М. С. Решение сложных и олимпиадных задач по программированию / М. С. Долинский. — СПб.: Питер, 2006. — 366 с. | |||
* {{GoodBadge}} Лааксонен А. Олимпиадное программирование. / Антти Лааксонен. — 2-е изд. — М.: ДМК Пресс, 2020. — 328 с. {{Comment|Бумажный вариант online-книги того же автора. Порядок глав изменён; добавлены разделы про центроид-декомпозицию, heavy-light-декомпозицию, деревья поиска в глубину, суффиксные массивы, декартовы деревья, оптимизации ДП, параллельный бинпоиск, динамическую связность, FFT, MCMF.}} | |||
* Окулов С. М. Основы программирования / С. М. Окулов. — 4-е изд. — М.: БИНОМ, 2008. — 440 с. | |||
* Окулов С. М. Программирование в алгоритмах / С. М. Окулов. — 3-е изд. — М.: БИНОМ, 2007. — 383 с. | |||
* {{GoodBadge}} Порублев И. Н., Ставровский А. Б. Алгоритмы и программы. Решение олимпиадных задач. — М.: Вильямс, 2007. — 480 с. | |||
* Скиена С. С., Ревилла М. А. Олимпиадные задачи по программированию. Руководство по подготовке к соревнованиям / С. С. Скиена, М. А. Ревилла. — М.: КУДИЦ-ОБРАЗ, 2005. — 416 с. | |||
=== Олимпиадное программирование (более сложные темы) === | |||
* [https://kostka.dev/sp/spbook.pdf Kostka B. Sports Programming in Practice / Bartosz Kostka — University of Wroclaw, 2021. — 234 p.] | |||
* [https://peltorator.ru/cp_book.pdf Горбачёв Е. А. Спортивное программирование. Алгоритмы и структуры данных / Е. А. Горбачёв — 2021. — 136 с.] | * [https://peltorator.ru/cp_book.pdf Горбачёв Е. А. Спортивное программирование. Алгоритмы и структуры данных / Е. А. Горбачёв — 2021. — 136 с.] | ||
=== Сборники задач === | === Сборники задач === | ||
* Durr C., Vie J. Competitive Programming in Python / Christoph Durr, Jill-Jenn Vie. — Cambridge University Press, 2021. — 264 p. | |||
* Wu Y., Wang J. Algorithm Design Practice for Collegiate Programming Contests and Education / Yonghui Wu, Jiande Wang. — CRC Press, 2018. — 706 p. | * Wu Y., Wang J. Algorithm Design Practice for Collegiate Programming Contests and Education / Yonghui Wu, Jiande Wang. — CRC Press, 2018. — 706 p. | ||
* Wu Y., Wang J. Data Structure Practice for Collegiate Programming Contests and Education / Yonghui Wu, Jiande Wang. — CRC Press, 2016. — 512 p. | * Wu Y., Wang J. Data Structure Practice for Collegiate Programming Contests and Education / Yonghui Wu, Jiande Wang. — CRC Press, 2016. — 512 p. | ||
Строка 64: | Строка 72: | ||
=== Литература по темам === | === Литература по темам === | ||
==== Алгоритмы | ==== Алгоритмы ==== | ||
* [http://jeffe.cs.illinois.edu/teaching/algorithms Erickson J. Algorithms / Jeff Erickson. | * [http://jeffe.cs.illinois.edu/teaching/algorithms Erickson J. Algorithms / Jeff Erickson. — Urbana, IL: University of Illinois at Urbana-Champaign, 2019. — 472 p.] | ||
* [http://www.algorithmsilluminated.org Roughgarden T. Algorithms Illuminated]: | * [http://www.algorithmsilluminated.org Roughgarden T. Algorithms Illuminated]: | ||
:* Roughgarden T. Algorithms Illuminated. Part 1: The Basics / Tim Roughgarden. — San-Francisco, CA: Soundlikeyourself Publishing, 2017. — 216 p. | :* Roughgarden T. Algorithms Illuminated. Part 1: The Basics / Tim Roughgarden. — San-Francisco, CA: Soundlikeyourself Publishing, 2017. — 216 p. | ||
Строка 71: | Строка 79: | ||
:* 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 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. | :* 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. | * 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 с. {{Comment|Темы: динамические массивы, амортизационный анализ; сортировка выбором, Ω-оценка для сортировок сравнением, mergesort, quicksort, порядковая статистика (за O(N) в среднем и худшем случае); линейный поиск, бинарный поиск, деревья поиска, splay-деревья; кучи, heapsort, k-ичные кучи, сливаемые кучи (leftist и skew), персистентность, декартовы деревья; хеширование, разрешение коллизий (цепочки, открытая адресация, двойное хеширование), универсальное хеширование, совершенное хеширование, фильтр Блюма; DSU, DSU с отменами; RMQ, деревья отрезков, разреженные таблицы, LCA, сведение LCA к RMQ и наоборот, RMQ и LCA за (O(N), O(1)); динамическое программирование, НВП, перемножение цепочки матриц, принципы ДП.}} | ||
* Вирт Н. Алгоритмы и структуры данных / Н. Вирт. | * Вирт Н. Алгоритмы и структуры данных / Н. Вирт. — М.: Мир, 1989. — 360 с. | ||
* [http://alexanderskulikov.github.io/files/algorithms_href.pdf Дасгупта С., Пападимитриу Х., Вазирани У. Алгоритмы / С. Дасгупта, Х. Пападимитриу, У. Вазирани. | * [http://alexanderskulikov.github.io/files/algorithms_href.pdf Дасгупта С., Пападимитриу Х., Вазирани У. Алгоритмы / С. Дасгупта, Х. Пападимитриу, У. Вазирани. — М.: МЦНМО, 2014. — 320 с.] | ||
* Клейнберг Дж., Тардос Е. Алгоритмы: разработка и применение / Джон Клейнберг, Ева Тардос. | * Клейнберг Дж., Тардос Е. Алгоритмы: разработка и применение / Джон Клейнберг, Ева Тардос. — СПб.: Питер, 2016. — 800 с. ([http://www.cs.princeton.edu/~wayne/kleinberg-tardos слайды лекций]) | ||
* Левитин А. В. Алгоритмы: введение в разработку и анализ / Ананий В. Левитин. | * Левитин А. В. Алгоритмы: введение в разработку и анализ / Ананий В. Левитин. — М.: Вильямс, 2006. — 576 с. | ||
* Макконнелл Дж. Анализ алгоритмов. Вводный курс / Дж. Макконнелл. | * Макконнелл Дж. Анализ алгоритмов. Вводный курс / Дж. Макконнелл. — М.: Техносфера, 2002. — 304 с. | ||
* Стивенс Р. Алгоритмы. Теория и практическое применение / Род Стивенс. | * Стивенс Р. Алгоритмы. Теория и практическое применение / Род Стивенс. — М.: Э, 2016. — 544 с. | ||
==== Структуры данных ==== | |||
* Brass P. Advanced Data Structures / Peter Brass. — Cambridge: Cambridge University Press, 2008. — 472 pp. | |||
* [https://opendatastructures.org Morin P. Open Data Structures / Par Morin. — Edmonton, AB: Athabasca University Press, 2013. — 344 pp.] | |||
==== Дискретная математика ==== | ==== Дискретная математика ==== | ||
* Асанов М. О. | * Асанов М. О. Баранский В. А., Расин В. В. Дискретная математика: графы, матроиды, алгоритмы / М. О. Асанов, В. А. Баранский, В. В. Расин. — 3-е изд. — СПб.: Лань, 2020. — 364 с. | ||
* Грэхем Р., Кнут Д., Паташник О. Конкретная математика. Основание информатики / Р. Грэхем, Д. Кнут, О. Паташник. | * Грэхем Р., Кнут Д., Паташник О. Конкретная математика. Основание информатики / Р. Грэхем, Д. Кнут, О. Паташник. — М.: Мир, 1998. — 703 с. | ||
* Кук Д., Бейз Г. Компьютерная математика / Д. Кук, Г. Бейз. | * Кук Д., Бейз Г. Компьютерная математика / Д. Кук, Г. Бейз. — М.: Наука, 1990. — 384 с. | ||
* Новиков Ф. А. Дискретная математика для программистов / Ф. А. Новиков. | * Новиков Ф. А. Дискретная математика для программистов / Ф. А. Новиков. — 2-е изд. — СПб.: Питер. 2007. — 364 с. | ||
* Окулов С. М. Дискретная математика. Теория и практика решения задач по информатике / С. М. Окулов. | * Окулов С. М. Дискретная математика. Теория и практика решения задач по информатике / С. М. Окулов. — 2-е изд. — М.: БИНОМ, 2012. — 422 с. | ||
* Хаггарти Р. Дискретная математика для программистов / Р. Хаггарти | * Хаггарти Р. Дискретная математика для программистов / Р. Хаггарти — М.: Техносфера, 2004. — 320 с. | ||
==== Динамическое программирование ==== | ==== Динамическое программирование ==== | ||
Строка 97: | Строка 109: | ||
==== Вычислительная геометрия ==== | ==== Вычислительная геометрия ==== | ||
* [http://vlecomte.github.io/cp-geo.pdf Lecomte V. Handbook of geometry for competitive programmers / Victor Lecomte. — 2018. — 122 p.] | * [http://vlecomte.github.io/cp-geo.pdf Lecomte V. Handbook of geometry for competitive programmers / Victor Lecomte. — 2018. — 122 p.] | ||
* {{GoodBadge}} [http://e-maxx.ru/bookz/files/andreeva.pdf Андреева Е. В., Егоров Ю. Е. Вычислительная геометрия на плоскости / Е. В. Андреева, Ю. Е. Егоров. // Информатика. | * {{GoodBadge}} [http://e-maxx.ru/bookz/files/andreeva.pdf Андреева Е. В., Егоров Ю. Е. Вычислительная геометрия на плоскости / Е. В. Андреева, Ю. Е. Егоров. // Информатика. — 2002. — №39, 40, 43, 44] | ||
* Берг М. Вычислительная геометрия. Алгоритмы и приложения / М. Берг, О. Чеонг, М. Кревельд, М. Овермарс. — М.: ДМК-Пресс, 2016. — 438 с. | * Берг М. Вычислительная геометрия. Алгоритмы и приложения / М. Берг, О. Чеонг, М. Кревельд, М. Овермарс. — М.: ДМК-Пресс, 2016. — 438 с. | ||
* Препарата Ф., Шеймос М. Вычислительная геометрия / Ф. Препарата, М. Шеймос. | * Препарата Ф., Шеймос М. Вычислительная геометрия / Ф. Препарата, М. Шеймос. — М.: Мир, 1989. — 478 с. | ||
* [https://server.179.ru/tasks/python/2014b1/minimum.pdf Теоретический минимум по по вычислительной геометрии для групп параллели B’. | * [https://server.179.ru/tasks/python/2014b1/minimum.pdf Теоретический минимум по по вычислительной геометрии для групп параллели B’. — Летняя компьютерная школа, 2010 г. — 6 с.] | ||
==== Теория графов ==== | ==== Теория графов ==== | ||
* Кристофидес Н. Теория графов. Алгоритмический подход / Н. Кристофидес. | * Кристофидес Н. Теория графов. Алгоритмический подход / Н. Кристофидес. — М.: Мир, 1978. — 432 с. | ||
* Оре О. Графы и их применение / О. Оре. | * Оре О. Графы и их применение / О. Оре. — М. Мир, 1965. — 175 с. | ||
* Оре О. Теория графов / О. Оре. | * Оре О. Теория графов / О. Оре. — 2-е изд. — М. Наука, 1980. — 336 с. | ||
* Харари Ф. Теория графов / Под ред. Г. П. Гаврилова. | * Харари Ф. Теория графов / Под ред. Г. П. Гаврилова. — М.: Едиториал УРСС, 2003. — 296 с. | ||
==== Алгоритмы на строках ==== | ==== Алгоритмы на строках ==== | ||
* Гасфилд Д. Строки, деревья и последовательности в алгоритмах / Дэн Гасфилд. | * Гасфилд Д. Строки, деревья и последовательности в алгоритмах / Дэн Гасфилд. — СПб: Невский диалект; БХВ-Петербург, 2003. — 654 с. | ||
* Смит Б. Методы и алгоритмы вычислений на строках / Билл Смит. | * Смит Б. Методы и алгоритмы вычислений на строках / Билл Смит. — М.: Вильямс, 2006. — 496 с. | ||
== Периодические издания и сборники == | == Периодические издания и сборники == | ||
* Журнал [http://ioinformatics.org/page/ioi-journal-contents/3 Olympiads in Informatics] | * Журнал [http://ioinformatics.org/page/ioi-journal-contents/3 Olympiads in Informatics] | ||
: [http://ioinformatics.org/page/ioi-journal-index/44#volume1 2007], [http://ioinformatics.org/page/ioi-journal-index/44#volume2 2008], [http://ioinformatics.org/page/ioi-journal-index/44#volume3 2009], [http://ioinformatics.org/page/ioi-journal-index/44#volume4 2010], [http://ioinformatics.org/page/ioi-journal-index/44#volume5 2011], [http://ioinformatics.org/page/ioi-journal-index/44#volume6 2012], [http://ioinformatics.org/page/ioi-journal-index/44#volume7 2013], [http://ioinformatics.org/page/ioi-journal-index/44#volume8 2014], [http://ioinformatics.org/page/ioi-journal-index/44#volume9 2015], [http://ioinformatics.org/page/ioi-journal-index/44#volume10 2016], [http://ioinformatics.org/page/ioi-journal-index/44#volume10si 2016+], [http://ioinformatics.org/page/ioi-journal-index/44#volume11 2017], [http://ioinformatics.org/page/ioi-journal-index/44#volume11si 2017+], [http://ioinformatics.org/page/ioi-journal-index/44#volume12 2018], [http://ioinformatics.org/page/ioi-journal-index/44#volume13 2019], [http://ioinformatics.org/page/ioi-journal-index/44#volume14 2020] | : [http://ioinformatics.org/page/ioi-journal-index/44#volume1 2007], [http://ioinformatics.org/page/ioi-journal-index/44#volume2 2008], [http://ioinformatics.org/page/ioi-journal-index/44#volume3 2009], [http://ioinformatics.org/page/ioi-journal-index/44#volume4 2010], [http://ioinformatics.org/page/ioi-journal-index/44#volume5 2011], [http://ioinformatics.org/page/ioi-journal-index/44#volume6 2012], [http://ioinformatics.org/page/ioi-journal-index/44#volume7 2013], [http://ioinformatics.org/page/ioi-journal-index/44#volume8 2014], [http://ioinformatics.org/page/ioi-journal-index/44#volume9 2015], [http://ioinformatics.org/page/ioi-journal-index/44#volume10 2016], [http://ioinformatics.org/page/ioi-journal-index/44#volume10si 2016+], [http://ioinformatics.org/page/ioi-journal-index/44#volume11 2017], [http://ioinformatics.org/page/ioi-journal-index/44#volume11si 2017+], [http://ioinformatics.org/page/ioi-journal-index/44#volume12 2018], [http://ioinformatics.org/page/ioi-journal-index/44#volume13 2019], [http://ioinformatics.org/page/ioi-journal-index/44#volume14 2020], [http://ioinformatics.org/page/ioi-journal-index/44#volume15 2021], [http://ioinformatics.org/page/ioi-journal-index/44#volume16 2022] | ||
* Сборники Зимней школы по программированию ХНУРЭ | * Сборники Зимней школы по программированию ХНУРЭ | ||
: [http://ws.kh.ua/media/sbornik/Sbornik2008.pdf 2008], [http://ws.kh.ua/media/sbornik/Sbornik2009.pdf 2009], [http://ws.kh.ua/media/sbornik/Sbornik2010.pdf 2010], [http://ws.kh.ua/media/sbornik/Sbornik2011.pdf 2011], [http://ws.kh.ua/media/sbornik/Sbornik2012.pdf 2012], [http://ws.kh.ua/media/sbornik/Sbornik2013.pdf 2013], [http://ws.kh.ua/media/sbornik/Sbornik2014.pdf 2014] | : [http://ws.kh.ua/media/sbornik/Sbornik2008.pdf 2008], [http://ws.kh.ua/media/sbornik/Sbornik2009.pdf 2009], [http://ws.kh.ua/media/sbornik/Sbornik2010.pdf 2010], [http://ws.kh.ua/media/sbornik/Sbornik2011.pdf 2011], [http://ws.kh.ua/media/sbornik/Sbornik2012.pdf 2012], [http://ws.kh.ua/media/sbornik/Sbornik2013.pdf 2013], [http://ws.kh.ua/media/sbornik/Sbornik2014.pdf 2014] |
Текущая версия от 01:43, 28 января 2023
Тестирующие системы
Представленные в мониторе:
- acmp.ru
- informatics.msk.ru
- acm.timus.ru
- codeforces.com
- e-olymp.com
- spoj.com
- onlinejudge.org
- cses.fi/problemset
Другие:
Сайты
Теория:
- e-maxx.ru, cp-algorithms.com
- neerc.ifmo.ru/wiki
- brestprog.by
- ru.algorithmica.org, algorithmica.org/ru, algorithmica.org/tg, wiki.algocode.ru
- codeforces.com/catalog
- usaco.guide
- topcoder.com
Демонстрации:
Код:
- indy256's CodeLibrary (GitHub)
- ADJA's Algos (GitHub)
- R. Sedgewick and K. Wayne's Java Algorithms and Clients (GitHub)
Книги
Алгоритмы (классические учебники)
- 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 с.
Олимпиадное программирование (более сложные темы)
- Kostka B. Sports Programming in Practice / Bartosz Kostka — University of Wroclaw, 2021. — 234 p.
- Горбачёв Е. А. Спортивное программирование. Алгоритмы и структуры данных / Е. А. Горбачёв — 2021. — 136 с.
Сборники задач
- Durr C., Vie J. Competitive Programming in Python / Christoph Durr, Jill-Jenn Vie. — Cambridge University Press, 2021. — 264 p.
- Wu Y., Wang J. Algorithm Design Practice for Collegiate Programming Contests and Education / Yonghui Wu, Jiande Wang. — CRC Press, 2018. — 706 p.
- Wu Y., Wang J. Data Structure Practice for Collegiate Programming Contests and Education / Yonghui Wu, Jiande Wang. — CRC Press, 2016. — 512 p.
- Алексеев А. В., Беляев С. Н. Подготовка школьников к олимпиадам по информатике с использованием веб-сайта / А. В. Алексеев, С. Н. Беляев. — Ханты-Мансийск: РИО ИРО, 2008. — 284 с.
- Брудно А. Л., Каплан Л. И. Московские олимпиады по программированию / Под ред. Б. Н. Наумова. — 2-е изд. — М.: Наука, 1990. — 208 с.
- Кирюхин В. М., Окулов С. М. Методика решения задач по информатике. Международные олимпиады / В. М. Кирюхин, С. М. Окулов. — М.: БИНОМ, 2007. — 600 с.
- Московские олимпиады по информатике / Под ред. Е. В. Андреевой, В. М. Гуровица и В. А. Матюхина. — М.: МЦНМО, 2006. — 256 с.
- Московские учебно тренировочные сборы по информатике. Весна–2006 / Под ред. В. М. Гуровица. — М.: МЦНМО, 2007. — 194 с.
- Меньшиков Ф. В. Олимпиадные задачи по программированию / Ф. В. Меньшиков. — СПб: Питер, 2006. — 315 с.
- Особенности национальных задач по информатике / В. И. Беров, А. В. Лапунов, В. А. Матюхин, А. Е. Пономарёв. — Киров: Триада-С, 2000. — 160 с.
- Шень А. Программирование: теоремы и задачи / А. Шень. — 6-е изд. — М.: МЦНМО, 2017. — 320 с.
Литература по темам
Алгоритмы
- Erickson J. Algorithms / Jeff Erickson. — Urbana, IL: University of Illinois at Urbana-Champaign, 2019. — 472 p.
- Roughgarden T. Algorithms Illuminated:
- 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 с.
Структуры данных
- Brass P. Advanced Data Structures / Peter Brass. — Cambridge: Cambridge University Press, 2008. — 472 pp.
- Morin P. Open Data Structures / Par Morin. — Edmonton, AB: Athabasca University Press, 2013. — 344 pp.
Дискретная математика
- Асанов М. О. Баранский В. А., Расин В. В. Дискретная математика: графы, матроиды, алгоритмы / М. О. Асанов, В. А. Баранский, В. В. Расин. — 3-е изд. — СПб.: Лань, 2020. — 364 с.
- Грэхем Р., Кнут Д., Паташник О. Конкретная математика. Основание информатики / Р. Грэхем, Д. Кнут, О. Паташник. — М.: Мир, 1998. — 703 с.
- Кук Д., Бейз Г. Компьютерная математика / Д. Кук, Г. Бейз. — М.: Наука, 1990. — 384 с.
- Новиков Ф. А. Дискретная математика для программистов / Ф. А. Новиков. — 2-е изд. — СПб.: Питер. 2007. — 364 с.
- Окулов С. М. Дискретная математика. Теория и практика решения задач по информатике / С. М. Окулов. — 2-е изд. — М.: БИНОМ, 2012. — 422 с.
- Хаггарти Р. Дискретная математика для программистов / Р. Хаггарти — М.: Техносфера, 2004. — 320 с.
Динамическое программирование
- Kellerer H., Pferschy U., Pisinger D. Knapsack Problems / Hans Kellerer, Ulrich Pferschy, David Pisinger. — Berlin: Springer-Verlag, 2004. — 568 p.
- Martello S., Toth P. Knapsack problems / Silvano Martello, Paolo Toth. — New York, NY: Wiley, 1990. — 308 p.
- Окулов С. М., Пестов О. А. Динамическое программирование / С. М. Окулов, О. А. Пестов. — М.: Бином, 2012. — 296 с.
Вычислительная геометрия
- Lecomte V. Handbook of geometry for competitive programmers / Victor Lecomte. — 2018. — 122 p.
- Андреева Е. В., Егоров Ю. Е. Вычислительная геометрия на плоскости / Е. В. Андреева, Ю. Е. Егоров. // Информатика. — 2002. — №39, 40, 43, 44
- Берг М. Вычислительная геометрия. Алгоритмы и приложения / М. Берг, О. Чеонг, М. Кревельд, М. Овермарс. — М.: ДМК-Пресс, 2016. — 438 с.
- Препарата Ф., Шеймос М. Вычислительная геометрия / Ф. Препарата, М. Шеймос. — М.: Мир, 1989. — 478 с.
- Теоретический минимум по по вычислительной геометрии для групп параллели B’. — Летняя компьютерная школа, 2010 г. — 6 с.
Теория графов
- Кристофидес Н. Теория графов. Алгоритмический подход / Н. Кристофидес. — М.: Мир, 1978. — 432 с.
- Оре О. Графы и их применение / О. Оре. — М. Мир, 1965. — 175 с.
- Оре О. Теория графов / О. Оре. — 2-е изд. — М. Наука, 1980. — 336 с.
- Харари Ф. Теория графов / Под ред. Г. П. Гаврилова. — М.: Едиториал УРСС, 2003. — 296 с.
Алгоритмы на строках
- Гасфилд Д. Строки, деревья и последовательности в алгоритмах / Дэн Гасфилд. — СПб: Невский диалект; БХВ-Петербург, 2003. — 654 с.
- Смит Б. Методы и алгоритмы вычислений на строках / Билл Смит. — М.: Вильямс, 2006. — 496 с.
Периодические издания и сборники
- Журнал Olympiads in Informatics
- 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2016+, 2017, 2017+, 2018, 2019, 2020, 2021, 2022
- Сборники Зимней школы по программированию ХНУРЭ