В наши дни существует необычайной количество прекрасных книг о программировании, которые стали классикой, традиционными учебниками для программистов. Так что же все-таки стоит прочитать и в какой последовательности?
Сейчас я сам столкнулся с тем, что не знаю за что взяться, потому что количество книг, которые я хочу прочитать плавно перевалило за 20...
Вот, что рекомендует Санкт-Петербургский тренировочный центр:
Поэтому я рекомендую всем остановиться для начала на списке тренировочного центра. Можно, конечно, добавить к нему Седжвика и еще одну книгу Стивена Скиены, только она полностью на английском.
Если смотреть только на первый список, то я могу определиться, что читать следующим. Но если добавить еще пару книг, то я в замешательстве.
Сложно добавить еще что-то к этому звездному составу. Книги по языкам программирования не в счет. Мне больше интересно, может ли кто-нибудь высказаться по поводу моих добавлений к списку. Потому что они сбивают меня с толку и я не могу взять наконец книгу и читать ее.
Если кто-то хочет, может высказаться о книгах и сказать, в каком порядке он советовал бы их читать.
Думаю, тем, кто собрался здесь, все эти книги знакомы. Но всегда есть люди, которые только начинают свое знакомство с программированием. В итоге, может получиться неплохое руководство.
Я, в свою очередь, рекомендую прочитать Кормена, "Конкретную математику" и Стивена Скиену. Ну и все остальное) Потому что все книги очень интересные. Правда, одни сложнее, а другие проще.
Сейчас я сам столкнулся с тем, что не знаю за что взяться, потому что количество книг, которые я хочу прочитать плавно перевалило за 20...
Вот, что рекомендует Санкт-Петербургский тренировочный центр:
- Кормен, Т., Лейзерсон, Ч., Ривест Р., Штайн К. «Алгоритмы: построение и анализ».
- Кнут Д. «Искусство программирования».
- Шень А. А. «Программирование. Теоремы и задачи».
- Керниган Б., Пайк Р. «Практика программирования».
- Романовский И. В. «Дискретный анализ».
- Уоррен Г. «Алгоритмические трюки для программистов».
- Грехем Р., Кнут Д., Паташник О. «Конкретная математика».
- Скиена С. С., Ревилла М. А. «Олимпиадные задачи по программированию. Руководство по подготовке к соревнованиям».
- Меньшиков Ф. В. «Олимпиадные задачи по программированию».
- Асанов М. О., Баранский В. А., Расин В. В. «Дискретная математика: графы, матроиды, алгоритмы».
- Гасфилд. Д. «Строки, деревья и последовательности в алгоритмах».
- Вирт. Н. «Алгоритмы и структуры данных».
- Роберт Седжвик «Фундаментальные алгоритмы на C++».
- Steven Skiena "The algorithm design manual". Если честно, то именно эта книга и ввела меня в задумчивость. Потому что, немного просмотрев ее, я увидел какое-то сходство с творением Кормена (CLRS, «Алгоритмы: построение и анализ»).
- И великое множество книг по математике. Ведь математика тоже очень полезна. Этот пункт тоже ввел меня в задумчивость. Литература по линейной алгебре и по аналитической геометрии. По высшей математике.
Поэтому я рекомендую всем остановиться для начала на списке тренировочного центра. Можно, конечно, добавить к нему Седжвика и еще одну книгу Стивена Скиены, только она полностью на английском.
Если смотреть только на первый список, то я могу определиться, что читать следующим. Но если добавить еще пару книг, то я в замешательстве.
Сложно добавить еще что-то к этому звездному составу. Книги по языкам программирования не в счет. Мне больше интересно, может ли кто-нибудь высказаться по поводу моих добавлений к списку. Потому что они сбивают меня с толку и я не могу взять наконец книгу и читать ее.
Если кто-то хочет, может высказаться о книгах и сказать, в каком порядке он советовал бы их читать.
Думаю, тем, кто собрался здесь, все эти книги знакомы. Но всегда есть люди, которые только начинают свое знакомство с программированием. В итоге, может получиться неплохое руководство.
Я, в свою очередь, рекомендую прочитать Кормена, "Конкретную математику" и Стивена Скиену. Ну и все остальное) Потому что все книги очень интересные. Правда, одни сложнее, а другие проще.
FFFFUUUUUUUUUUUUUUU
не пойму почему так заминусовали...
видимо они посчитали что ты это написал относительно к стране, а не к к "правильному" написанию(
Ну потому что нечего некропостить из-за таких глупостей...
Вообще это кто-то другой некропостнул, я не заметил и отписался.
Да я бы не сказал, что это глупости. Но некропостить не следует из-за этого, да.
Эх... Словно это было вчера :)
Казалось бы, довольно очевидно, что моё мнение отличается от мнения большинства тут :). А до этого было ещё и это
P.S: Не сразу понял, что хочет сказать adamant . Да, второй раз мы в подобной теме сталкиваемся :)
Обидно что человек забил. Строил такие большие планы, но написал 3 контеста и забил... Однако, допускаю что он качался где — то еще...
Только на TopCoder.
Вот только до сих пор ждем возможность просмотра решений конкретного участника.
Нажми на попытку участника
Не думаешь ли ты, что он понял это в течение 5-ти лет.
Получилось ?
Я согласен с твом списком из 3-х книг :) Ниже мои мысли по поводу их.
Мне в своё время очень понравилась книга Скиены. Это имхо самая практичная для олимпиад книга, с неё вполне можно получить "быстрый старт" и набрать необходимый минимум знаний по многим областям. Классно то, что по каждой теме есть список задач (со ссылками на работающий контестер), и в разделе "указания" некоторые идеи по этим задачам, которые помогают в придумывании решений. Другой плюс - огромный форум этого сайта (UVA online judge), на котором в случае больших затруднений можно найти более подробные рекомендации по решению.
Книга №2 по моему мнению - Кормен. Доступным языком описывается множество теоретических вещей и алгоритмов, причём алгоритмы даны в удобопонимаемом виде.
Книга №3 - Конкретная математика. Очень много интересных математических штук, которые часто находят применение в наших олимпиадах. Хотя всё же это математическая книга.
Книга №4 - Гасфилд (Строки [...]). Классная книга по алгоритмам на строки, но пожалуй не для начинающих (z и префикс-функции можно почитать и в другом месте). Плюс хорошие упражнения.
Книга №5 - Шамос, Препарата (Геометрия). Великолепная книга с множеством сложных геометрических алгоритмов. Реально в олимпиадах применяется очень узкий набор алгоритмов оттуда. Но всё равно, книга впечатляющая, я думаю, стоит каждому её просмотреть, чтобы получить хотя бы представление о сложности тех или иных геометрических задач.
Остальные книги из списка я все читал, но рекомендовать конкретные не стал бы. Обычно скорее это получается так: ищешь какой-нибудь конкретный материал, и находишь его в одной-двух книгах, вот их и приходится читать :)
Очень многое находится просто в статьях. Но здесь туговато - большая часть статей в интернете открывается только за деньги, простому смертному часто приходится подолгу искать "хоть какую-нибудь статью" по нужной теме :(
Остальные уже просматриваются избирательно, вдруг есть что-то стоящее. На чтение уходят считанные часы.
У меня вот только один вопросик. Просто хочу прочитать книгу Скиены, но теперь у меня их две, а может появиться и больше. И я даже не знаю, какую лучше читать. «Олимпиадные задачи по программированию. Руководство по подготовке к соревнованиям» или «The Algorithm design manual»? В чем серьезные отличия? Что посоветуете? )