Кормен Т., Алгоритмы. Вводный курс
Algorithms UnlockedВильямс, 2014 г., 208 стр., 978-5-8459-1868-0
Описание книги
Поскольку книга "Алгоритмы: построение и анализ" предназначена в первую очередь для студентов и аспирантов, то есть подразумевает достаточно серьезную математическую подготовку, Т. Кормен написал книгу, предназначенную для всех, кого интересуют вопросы, связанные с компьютерными алгоритмами, но базовое образование, да и просто отсутствие времени не позволяют взяться за серьезный труд объемом более 1300 страниц.
При всей простоте и легкости изложения эту книгу, как и все вышедшее из-под пера Т. Кормена, отличают точность, широкий спектр охватываемых вопросов, глубина изложения. Основной предполагаемый читатель этой книги - молодой человек, раздумывающий, стоит ли ему заниматься этой областью человеческой деятельности или нет. Но в любом случае, знания никогда не бывают лишними, так что даже если в конечном итоге вы поймете, что алгоритмы - не ваше предназначение, все равно ваше время не будет потрачено зря - ведь алгоритмы окружают нас всюду, а компьютерные алгоритмы - всего лишь их разновидность.
Ключевые слова
Поделиться ссылкой на книгу
Дополнительно о книге
Книга, которую вы держите в своих руках, — совершенно иная. Это даже не учебник. Она не погружается в алгоритмы достаточно глубоко, не охватывает их разнообразие сколь-нибудь широко, не учит методам проектирования компьютерных алгоритмов, и в ней даже нет задач и упражнений, которые должен решать читатель! Так что же представляет собой эта книга? Это отправная точка для вас, если вы
- интересуетесь тем, как компьютеры решают поставленные перед ними задачи;
хотите знать, как оценить качество этих решений;
хотите понимать, как задачи, решаемые компьютерами, и используемые для этого методы связаны с реальным, некомпьютерным миром;
не очень сильны в математике;
не написали ни одной программы (впрочем, умение программировать нисколько не мешает чтению данной книги, даже наоборот).
Некоторые книги о компьютерных алгоритмах концептуальны, с небольшим количеством технических деталей. Некоторые из них переполнены технически точными описаниями. Ряд книг находится между этими крайностями. Для каждого типа книг есть свое место и свой читатель. Я бы поместил эту книгу в промежуточную категорию. Да, в ней есть немного математики, и иногда она довольно глубоко погружается в детали, но я старался избегать таких мест (за исключением, возможно, конца книги, где я уже просто не мог контролировать себя).
Я представляю эту книгу своеобразной закуской. Представьте, что вы зашли в ресторан и для начала заказали закуски, решив подождать с основным заказом до тех пор, пока не справитесь с этой мелочью. Ваш заказ принесен, вы пробуете его. Возможно, еда вам не понравится, и вы решите уйти из этого ресторана. Возможно, вы утолите голод одними салатиками. А может быть, вам так понравится, что вы закажете официанту обильный обед и с нетерпением будете его ждать. Рассматривая эту книгу как закуску, я надеюсь, что либо вы полностью насытитесь ею и сочтете, что достаточно погрузились в мир алгоритмов, либо прочитанное заинтересует вас настолько, что вы захотите узнать побольше. Каждая глава заканчивается разделом “Дальнейшее чтение”, который подскажет вам, что прочесть для углубленного понимания вопросов.
Чему научит вас эта книга Я не знаю, чему научит вас эта книга. Я могу только сказать, что именно я постарался вложить в эту книгу, надеясь, что после ее прочтения вы будете знать следующее.
• Что такое компьютерные алгоритмы, как их описать и оценить.
• Как решаются базовые задачи, которые можно смоделировать в компьютере с помощью математической структуры, известной как “граф”. Среди множества приложений графы прекрасно подходят для моделирования дорожных сетей (между какими перекрестками есть непосредственно связывающие их дороги и какой они длины?), взаимосвязей между заданиями (какое задание должно предшествовать другим?), финансовых отношений (каковы курсы обмена между разными валютами?) или взаимоотношений между людьми (кто с кем знаком? кто кого ненавидит? какой актер снимался в фильме с некоторым другим актером?).
• Как решаются задачи, в которых участвуют строки текстовых символов. Некоторые из этих задач находят применение в таких областях, как биология, где символы представляют собой базовые аминокислоты, а строки символов — структуры ДНК.
• Основные принципы, лежащие в основе криптографии. Даже если вы никогда шифровали сообщений сами, ваш компьютер, вероятно, не раз это делал, например при покупке товаров через Интернет.
• Фундаментальные идеи сжатия данных, выходящие далеко за рамки сокращений, например, в столь любимых недалекой молодежью смсках.
• Что некоторые задачи слишком трудны, чтобы решить их на компьютере за любое разумное время (или как минимум никто пока что не нашел способа их решения за приемлемое время).
Простые способы поиска информации в компьютере.
Методы переупорядочения информации в компьютере некоторым предопределенным способом (мы называем эту задачу “сортировка”).
Что следует знать для понимания материала книги
Как я говорил ранее, в книге есть немного математики. Если это пугает вас до дрожи в коленках, можете попробовать пропускать ее или поискать менее техническую книгу. Но я сделал все возможное, чтобы сделать те крохи математики, которые есть в книге, доступными для всех. Я не думаю, что вы никогда не писали и не читали ни одной компьютерной программы. Если вы в состоянии следовать инструкциям, написанным обычным языком, то должны быть в состоянии понять, как я выражаю в книге составляющие алгоритм шаги.
В книге я использовал довольно неформальный стиль написания, надеясь, что индивидуальный подход поможет сделать материал более доступным. Некоторые главы зависят от материала предыдущих глав, но такая зависимость характерна только для некоторых из них. Ряд глав начинается совершенно не технически, но постепенно принимает все более технический характер. Если вы обнаружите, что материал одной главы спокойно укладывается в вашей голове, значит, очень велики шансы на то, что вы поймете по крайней мере начало следующей главы.
Содержание книги
Глава 1. Что такое алгоритмы и зачем они нужны
Глава 2. Описание и оценка компьютерных алгоритмов
Глава 3. Алгоритмы сортировки и поиска
Глава 4. Нижняя граница времени сортировки и как ее превзойти Нижняя граница времени сортировки и как ее превзойти
Глава 5. Ориентированные ациклические графы
Глава 6. Кратчайшие пути
Глава 7. Алгоритмы на строках
Глава 8. Основы криптографии
Глава 9. Сжатие данных
Глава 10. Трудная? Задача...
Об авторе
Томас Кормен — профессор, американский специалист по компьютерным наукам, преподаёт в Дартмутском колледже. Также занимает место директора по написанию программ (Writing Program) в этом учреждении. Кормен получил степень бакалавра в Принстоне (1978), магистра (1986) и доктора философии (1992) в Массачусетском технологическом институте. Вместе с Чарльзом Лейзерсоном, Рональдом Ривестом и Клиффордом Штайном он — соавтор знаменитой в среде программистов книги «Алгоритмы: построение и анализ».
Отзывы
В книге автор старается донести до читателей принципы, стараясь по минимуму прибегать к математике. Очень хорошо получилось на описаний алгоритмов поиска и сортировки. Автор сравнивает их с поиском или сортировкой книг на книжной полке.
Как минимум будет входной точкой для полной книги Кормена. Но, автор предупреждает, чтобы понять его полную книгу нужна хорошая математическая база.
Кормен, понимая, с каким читателем имеет дело, сразу написал: Я не знаю, чему может научить вас эта книга... :)
Как преподаватель могу его только поддержать: научить человека чему-нибудь - невозможно. Человек может только САМ научиться. В этом смысле книжка дает разгон для того, чтобы после нее все же решиться и прочитать основной труд Кормена по алгоритмам.
Рекомендую студентам (и преподавателям).
Последние поступления в рубрике "Основы программирования и алгоритмы"
Программирование на visual c# 2013. Учебное пособие для прикладного бакалавриата Казанский А.
Эта книга предназначена для изучения программирования на одном из самых современных и мощных языков — Visual C# 2013. Язык C# создан для программирования в Windows и вместе со средой разработки IDE Microsoft Visual Studio 2013 позволяет разрабатывать эффективные приложения, имеющие удобный графический интерфейс для решения прикладных задач.... | |
Программирование на языке высокого уровня С/С++. Конспект лекций Зоткин С.
Приведены основные элементы языков программирования C/C++: типы данных, операторы и операции, структура программы, работа с файлами, основы численных методов решения инженерных задач, организация данных в виде стека, очереди, списка и дерева.Для студентов первого курса бакалавриата направления подготовки 09.03.... | |
Примеры и задачи по программированию на Паскале и Питоне. Фонд оценочных средств для промежуточных аттестаций. Часть 1. Учебное пособие Пылькин А.Н., Москвина О.П.
В сборнике рассмотрены примеры разработки алгоритмов и программ по различным разделам программирования. Приведены практические примеры программ на языках Паскаль и Питон. По каждой теме даны наборы заданий различной степени сложности.... |
Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Кормен Т., Алгоритмы. Вводный курс в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.