Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Зачем читать скучные описания алгоритмов и продираться через нагромождение формул? Практические примеры и забавные объяснения позволят моментально разобраться с самыми сложными задачами, а юмор и прекрасные иллюстрации не дадут вам «заснуть» над книгой. Вы словно читаете короткие истории или пытаетесь справиться с головоломкой, постигая при этом суть алгоритмов и ощущая их красоту. В число алгоритмов, рассмотренных в книге, вошли различные методы сортировки, перебор, поиск в глубину и ширину, обход графов, четыре алгоритма поиска кратчайшего пути, два алгоритма минимального остовного дерева, алгоритмы определения вершин и ребер разреза, а также поиск наибольшего паросочетания в двудольных графах и многое другое.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 208
Veröffentlichungsjahr: 2024
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Аха Лей
Алгоритмы? Аха!. — СПб.: Питер, 2024.
ISBN 978-5-4461-2412-1
© ООО Издательство "Питер", 2024
Я давно собирался написать легкую для понимания книгу об алгоритмах. У большинства людей слово «алгоритм» прочно ассоциируется с чем-то чрезвычайно сложным. Когда-то я и сам не был исключением из этого правила. Например, когда я начал разбираться с задачей определения ребра и вершины разреза в графах, то прочитал четыре или пять книг, включая классические труды, а также кучу материалов в интернете, прежде чем понял алгоритм и реализовал его в коде. На самом деле это несложный алгоритм — основной код составляет не более 20 строк. Но многие книги содержат неполное описание, приводят разные варианты кода, а некоторые вообще не предлагают примеров с кодом, что значительно усложняет обучение. Я потратил целую ночь, чтобы разобраться с этим алгоритмом (конечно, о способностях и уровне подготовки тоже не нужно забывать).
Второй стереотип — алгоритмы скучны и бесполезны. Это неправда. Алгоритмы в повседневной жизни встречаются сплошь и рядом. Обычно они спрятаны за событиями, но служат нам каждый день. В этой книге я шаг за шагом объясняю тайны алгоритмов и делаю их ближе к вам.
Поскольку число алгоритмов чрезвычайно велико, я рассказал только о тех, что применяются чаще всего. При реализации алгоритмов, как правило, приходится опираться на определенные структуры данных, поэтому я объясню, какие структуры и когда нужно использовать. В книге мы рассмотрим стеки, очереди, деревья, непересекающиеся множества, кучи, графы и др. В число алгоритмов вошли различные методы сортировки, перебор, поиск в глубину и ширину, обход графов, четыре алгоритма поиска кратчайшего пути, два алгоритма минимального остовного дерева, алгоритмы определения вершин и ребер разреза, а также поиск наибольшего паросочетания в двудольных графах.
Я не могу гарантировать, что вы освоите все описанные алгоритмы, но твердо уверен, что у людей хотя бы со средним образованием не должно возникнуть проблем. Рассказ о каждом алгоритме начинается с задачи, с которой вы можете реально столкнуться в жизни. Объясняя алгоритмы, я старался использовать легкие для понимания примеры, чтобы чтение книги напоминало веселую и занимательную игру. Так вы сможет лучше понять суть алгоритмов и ощутить их красоту.
Я хотел бы поблагодарить издателя — господина Ченя Бина из компании Turing — за то, что он сделал возможным появление этой книги. Спасибо, что обратились ко мне, внушили уверенность в том, что я смогу завершить работу над книгой, и за бесценные советы. Меня поразило, что вы проверили всю рукопись, включая каждую строчку кода, и помогли исправить множество ошибок.
В процессе создания книги я имел честь общаться со многими прекрасными специалистами. Я хотел бы поблагодарить Ли Кайфэн из Уханьской средней школы № 2, Ли Цзяхао, Сюн Цзыцзянь, Чэн Юхэ, Го Мингда и Ли Дин из Уханьской школы иностранных языков за то, что они находили время выслушать меня, обменяться мнениями и предложениями.
Я должен поблагодарить прекрасного иллюстратора Цзяси Чжэн за то, что благодаря ее вдохновляющим иллюстрациям эта книга стала легче для понимания.
Благодарю моего хорошего друга Чжана Чжияна, который бескорыстно помог мне создать систему онлайн-обучения программированию tianchai.org.
Спасибо моей ученице Ху Мэнцин, которая вопреки всему участвовала в конкурсе NOIP. Этот поступок подтверждает, что в 18 лет мы должны быть настойчивыми, неустрашимыми и смело двигаться к своей мечте.
Отдельное спасибо моей невесте Сноуин, которая почти год вместе со мной без выходных работала над этой книгой.
И наконец, я хотел бы поблагодарить своих родителей. Вам было так тяжело меня воспитывать… Я вас люблю!
Аха Лей. 6 мая 2014 г.
Евгений Войнов — эксперт по Java, Team Lead проектов по разработке программного обеспечения в компании КРОК. Имеет более 15 лет опыта создания систем для государственного и коммерческого сектора, преподает в учебных программах BrainZ by CROC для студентов и школьников.
В работе над книгой принимали участие многие специалисты. Но мы хотим сказать отдельное спасибо литературному редактору Дмитрию Гудилину. Нелегкий труд превращения перевода с китайского языка в легкий, остроумный и понятный текст на хорошем русском языке заслуживает уважения!
Мы также выражаем благодарность компании КРОК за помощь в работе над русскоязычным изданием книги и их вклад в повышение качества переводной литературы.
Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.