Классические задачи Computer Science на языке Java - Дэвид Копец - E-Book

Классические задачи Computer Science на языке Java E-Book

Дэвид Копец

0,0

Beschreibung

Cтолкнулись с «неразрешимой» проблемой при разработке программного обеспечения? Скорее всего, кто-то уже справился с этой задачей, и вы можете не ломать голову. Дэвид Копец собрал наиболее полезные готовые решения, принципы и алгоритмы. «Классические задачи Computer Science на языке Java» — это мастер-класс по программированию, содержащий 55 практических примеров, затрагивающих самые актуальные темы: базовые алгоритмы, ограничения, искусственный интеллект и многое другое. В этой книге: - Рекурсия, мемоизация и битовые манипуляции. - Поисковые, графовые и генетические алгоритмы. - Проблемы ограничений. - Кластеризация методом k-среднего, нейронные сети и состязательный поиск.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 339

Veröffentlichungsjahr: 2024

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Переводчик С. Черников

Дэвид Копец

Классические задачи Computer Science на языке Java. — СПб.: Питер, 2024.

ISBN 978-5-4461-3911-8

© ООО Издательство "Питер", 2024

Оглавление

Благодарности
Об авторе
Об иллюстрации на обложке
От издательства
Введение
Для кого эта книга
Какие задачи представлены в издании
Об исходном коде
Дополнительные онлайн-ресурсы
1. Простые задачи
1.1. Ряд Фибоначчи
1.2. Простейшее сжатие
1.3. Невскрываемое шифрование
1.4. Вычисление числа
1.5. Ханойские башни
1.6. Реальные приложения
1.7. Упражнения
2. Задачи поиска
2.1. Поиск ДНК
2.2. Прохождение лабиринта
2.3. Миссионеры и людоеды
2.4. Реальные приложения
2.5. Упражнения
4. Графовые задачи
4.1. Карта как граф
4.2. Построение графовой структуры
4.3. Поиск кратчайшего пути
4.4. Минимизация затрат на построение сети
4.5. Поиск кратчайших путей во взвешенном графе
4.6. Реальные приложения
4.7. Упражнения
6. Кластеризация методом k-средних
6.1. Предварительные сведения
6.2. Алгоритм кластеризации методом k-средних
6.3. Кластеризация губернаторов по возрасту и долготе штата
6.4. Кластеризация альбомов Майкла Джексона по длительности
6.5. Проблемы и расширения кластеризации методом k-средних
6.6. Реальные приложения
6.7. Упражнения
7. Простейшие нейронные сети
7.1. В основе — биология?
7.2. Искусственные нейронные сети
7.3. Предварительные замечания
7.4. Построение сети
7.5. Задачи классификации
7.6. Повышение скорости работы нейронной сети
7.7. Проблемы и расширения нейронных сетей
7.8. Реальные приложения
7.9. Упражнения
8. Состязательный поиск
8.1. Основные компоненты настольной игры
8.2. Крестики-нолики
8.3. Connect Four
8.4. Другие улучшения минимакса
8.5. Реальные приложения
8.6. Упражнения
9. Другие задачи
9.1. Задача о рюкзаке
9.2. Задача коммивояжера
9.3. Мнемоника для телефонных номеров
9.4. Реальные приложения
9.5. Упражнения
10. Интервью с Брайаном Гетцем
А. Глоссарий
Б. Дополнительные ресурсы
Java
Алгоритмы и структуры данных
Искусственный интеллект
Функциональное программирование

Хочу выразить огромную благодарность Синбэнь Чэню из SUNY Suffolk и Вэй Киань Чэню из Champlain College, которые были для меня наставниками и благодаря которым я стал преподавать.

Благодарности

Хочу сказать спасибо издательству Manning и всем, кто помогал в создании этой книги. Особенно хочу поблагодарить редактора Дженни Стаут (Jenny Stout) за ее доброту и поддержку в самые трудные для меня времена; редактора отдела технического развития Фрэнсис Буонтемпо (Frances Buontempo) за внимание к деталям; рецензента Брайана Сойера (Brian Sawyer) за то, что он всегда верил в развитие компьютерных наук и всегда был нашим голосом разума; редактора Энди Кэрролла (Andy Carroll) за обнаружение моих недочетов; Радмилу Эрчеговац (Radmila Ercegovac) за помощь в продвижении книг по всему миру; технического редактора Жан-Франсуа Морена (Jean-Franois Morin) за поиск способов сделать код более чистым и современным. Выражаю особую благодарность редактору моего проекта Дейрдре Хиам (Deirdre Hiam), корректору Кэти Теннант (Katie Tennant) и научному редактору Алексу Драгосавлевичу (Aleks Dragosavljevi). Я очень благодарен всем специалистам издательства Manning за содействие в подготовке этой книги.

Спасибо Брайану Гетцу (Brian Goetz) за очень занимательное и увлекательное, а главное, полезное для читателей интервью. Для меня было большой честью побеседовать с таким человеком.

Спасибо моей жене Ребекке и маме за неизменную поддержку в этот сложный год.

Благодарю всех рецензентов: Андреса Сакко (Andres Sacco), Эзре Симелоффа (Ezra Simeloff), Яна ван Нимвегена (Jan van Nimwegen), Келума Прабата Сенанаяке (Kelum Prabath Senanayake), Кимберли Уинстон-Джексон (Kimberly Winston-Jackson), Рафаэлле Вентаглио (Raffaella Ventaglio), Раушана Джа (Raushan Jha), Саманту Берк (Samantha Berk), Саймона Чоке (Simon Tschke), Виктора Дурана (Vctor Durn) и Уильяма Уиллера (William Wheeler). Ваши идеи сделали эту книгу лучше. Я ценю внимание каждого и время, затраченное на рецензирование этой книги.

А самое главное, я благодарен читателям, поддержавшим серию книг «Классические задачи Computer Science». Если вам понравилась эта книга, пожалуйста, оставьте свои отзывы. Мы будем рады получить их!

Об авторе

Дэвид Копец — старший преподаватель на кафедре компьютерных наук и инноваций в колледже Шамплейн в Берлингтоне, штат Вермонт. Он опытный разработчик программного обеспечения и автор книг Classic Computer Science Problems in Python1(Manning, 2019), Classic Computer Science Problems in Swift (Manning, 2018) и Dart for Absolute Beginners (Apress, 2014). А еще Дэвид ведет подкаст.

1Копец Д. Классические задачи Computer Science на языке Python. — СПб.: Питер, 2020.

Об иллюстрации на обложке

Иллюстрация на обложке называется «Леди с Варварийского берега во всей своей красе»2 (второе название: «Парадное одеяние знатной дамы из Берберии, 1700 год»3) и позаимствована из книги «Коллекция платьев разных народов, старинных и современных»4, изданной в Лондоне в 1757–1772 годах. Как указано на титульном листе, это гравюры, выполненные на медных пластинах и раскрашенные гуммиарабиком.

Томаса Джеффериса (1719–1771) называли географом короля Георга III. Он был английским картографом, ведущим поставщиком карт своего времени. Он гравировал и печатал карты для правительственных и других государственных учреждений, выпускал множество коммерческих карт и атласов, особенно Северной Америки. В ходе работы интересовался особенностями одежды населения тех земель, которые обследовал и нанес на карту. Зарисовки костюмов блестяще представлены в этом издании. В конце XVIII века увлечение далекими землями и путешествия ради удовольствия были относительно новым явлением, и коллекции, подобные этой, были популярны, позволяя как туристам, так и тем, кто путешествует, не вставая с кресла, познакомиться с жителями других стран.

Разнообразие иллюстраций в книгах Джеффериса — яркое свидетельство уникальности и оригинальности народов мира в то время. С тех пор тенденции в одежде сильно изменились, а региональные и национальные различия, которые были такими значимыми 200 лет назад, постепенно сошли на нет. В наши дни часто сложно отличить друг от друга жителей разных континентов. Оптимисты могут сказать, что взамен культурному и визуальному многообразию мы получили более насыщенную и интересную личную жизнь (или по крайней мере ее интеллектуальную и техническую стороны).

В то время как большинство компьютерных изданий мало чем отличаются друг от друга, компания Manning выбирает для своих книг обложки, показывающие богатое региональное разнообразие, которое Джефферис продемонстрировал в своих иллюстрациях два столетия назад. Это ода находчивости и инициативности современной компьютерной индустрии.

2 Dame de la Cte de Barbarie dans tout sa parure.

3 Full dress of a lady of quality in Barbary, in 1700.

4 A Collection of the Dresses of Different Nations, Ancient and Modern.

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.