Так сложилось, что в 2008-2009 годах я написал несколько довольно объемных текстов на разные темы алгоритмического программирования. Писал я их в то время для некоторой группы нижегородских школьников, но с тех пор некоторые из этих текстов я довольно широко распространял, последнее время явно в них указывая лицензию CC-BY-SA.
Теперь я решил выложить эти тексты на github, чтобы а) сделать их распространение еще более широким, но при этом более упорядоченным; б) чтобы желающим было бы проще исправлять ошибки и опечатки, коих там достаточно.
Итак:
https://github.com/petr-kalinin/progtexts
или, если вам интересуют только pdf, а не LaTeX-исходники, то
https://github.com/petr-kalinin/progtexts/releases/latest
Темы текстов (кружочком помечены те, которые получили довольно широкое распространение):
-
- Перебор с возвратом
- Сложность алгоритмов, O-нотация
- Различные мелкие алгоритмические идеи, а также около-программистские замечания
-
- Поиск в глубину
-
- Динамическое программирование
Тексты, конечно, подразумевают некоторый начальный уровень знаний. Если за шкалу «уровней знаний» для удобства принять параллели ЛКШ, то тексты ориентированы примерно на уровень начиная с «чуть старше параллели C» и до параллели A'.
Сразу предупреждаю (disclaimer), основной текст писался 5-6 лет назад, поэтому местами могут быть устаревшие фрагменты. Вообще, там было довольно много упоминаний Borland Pascal, я вроде постарался при подготовке к публикации их все убрать, но, возможно, что-то я пропустил. Кроме того, там могут быть и разные другие проблемы и даже где-нибудь может быть написана полная ерунда — я особенно внимательно тексты давно не перечитывал. Сообщайте о таком.
Если тексты вас заинтересуют, и будут комментарии, замечания, ошибки — пишите или (даже лучше!) предлагайте pull-request'ы.
Лицензия на pdf-ки — CC-BY-SA. На TeX-код пока не знаю, какая лицензия; подскажите, какую лицензию лучше использовать?