с такими сложными методами, как рекурсия, могут, ничего не потеряв, перейти к следующему разделу,
Хотя каждую главу можно читать отдельно, они логически связаны между собой. Главы 1-4 составляют ч. I этой книги и содержат обзор основ программирования: постановку задачи, алгоритмы, структуры данных, верификацию программ. В ч. II входят гл. 5-9. В них рассмотрена только одна, иногда очень важная тема - эффективность, повышение которой всегда является замечательным трамплином для прыжка к решению интересных задач программирования. В главах ч. III изложенные ранее методы используются в реальных задачах.
Хочу дать один совет: при чтении этой книги не спешите. Читайте главы тщательно, по одной. Пытайтесь решить задачи - некоторые из них кажутся простыми до тех пор, пока не поломаете над ними голову в течение одного или двух часов. Работайте над задачей тщательно и до самого конца: большая часть того, что вы вынесете из этой книги, будет реализована при записи ваших решений. Прежде чем заглянуть в подсказки и решения, помещенные в конце книги, обсудите свои идеи с друзьями и коллегами. Литература для дополнительного чтения приведена к конце каждой главы, но это не строгий список литературы, который принято давать в научных трудах, а лишь перечень некоторых хороших книг, составляющих важную часть моей личной библиотеки.
Эта книга написана для программистов. Я надеюсь, что задачи, подсказки, решения и рекомендованная литература сделают ее полезной как для профессионалов, так и для любителей. Я использовал ее наброски на занятиях со студентами по курсам "Разработка прикладных алгоритмов" и "Проектирование программных средств"; у издателя имеется дополнительный учебный материал. Каталог алгоритмов в приложении - удобный справочник для "практикующих" программистов, объясняющий, как эту книгу можно включить в учебные курсы по алгоритмам и структурам данных.
При написании и выпуске книги мне оказали поддержку многие, за что я им очень благодарен. Идея возникновения раздела в журнале Communications of the ACM первоначально возникла у Питера Деннинга и Стюарда Линна. Питер усердно трудился в АСМ над тем, чтобы сделать этот раздел реальным, и привлек меня к этой теме. Сотрудники "штаб-квартиры" АСМ, особенно Роз Стайер и Нэнси Эйдриенс, очень помогли тому, чтобы материал этих разделов был опубликован в первоначальном виде. Я особенно признателен АСМ за поддержку при публикации материала этих разделов в их теперешнем виде, а также