Osco do Casco · 20-Июн-25 22:50(13 дней назад, ред. 21-Июн-25 03:11)
Алгоритмы. С примерами на Python Год издания: 2023 Автор: Хайнеман Дж. Издательство: Питер ISBN: 978-5-4461-1963-9 Серия: Бестселлеры O'Reilly Язык: Русский Формат: PDF Качество: Отсканированные страницы + слой распознанного текста Интерактивное оглавление: Да Количество страниц: 302 Описание: Когда нужно, чтобы программа работала быстро и занимала поменьше памяти, профессионального программиста выручают знание алгоритмов и практика их применения. Эта книга - как раз про практику. Ее автор, Джордж Хайнеман, предлагает краткое, но четкое и последовательное описание основных алгоритмов, которые можно эффективно использовать в большинстве языков программирования. О том, какими методами решаются различные вычислительные задачи, стоит знать и разработчикам, и тестировщикам, и интеграторам.
Алгоритм - основа computer science и сущность нынешней информационной эпохи. Алгоритмы движут поисковыми системами, которые ежедневно отвечают за миллиарды запросов, и позволяют безопасно передавать данные по всему Интернету. Алгоритмы все чаще оказываются нужны пользователям самых различных областей - от целевой рекламы до онлайн-ценников. Новостные медиа полны обсуждений: что же такое алгоритмы и на что они способны.
Для того чтобы разбираться в алгоритмах, не нужно оканчивать четыре курса университета. Увы, большинство книг и материалов в Сети на эту тему рассчитаны именно на студентов: в них делается упор на математические доказательства и основные постулаты компьютерной науки. Справочники содержат пугающее количество самых разнообразных алгоритмов и бесчисленные их варианты для самых изощренных случаев. Слишком часто читатель сдается уже на первой главе такой книги. Это как читать полный английский словарь с целью подправить правописание: лучше бросить сразу. Куда полезнее взять специализированное пособие: в нем будет сто английских слов, в которых чаще всего ошибаются, а также правила, по которым слова составляются (и исключения из них). Вот так же и людям различных профессий и опыта, когда они хотят применять алгоритмы в своей работе, нужно пособие, нацеленное именно на их нужды.
В этой книге в доступной форме описаны алгоритмы, которые сразу же можно применять для улучшения эффективности программ. Все алгоритмы написаны на Python, одном из самых популярных и интуитивно понятном языке программирования, которым пользуются в самых различных сферах - в анализе данных, биоинформатике, промышленнюсти.
Примеры страниц (скриншоты)
Оглавление
Предисловие 10
Введение 12
От издательства 17
Гnава 1. Решение задач 18
Гnава 2. Анализ алгоритмов 48
Гnава 3. Хороший хеш - залог успеха 79
Гnава 4. Могучая куча 125
Гnава 5. Сортировка без магии 154
Гnава 6. Двоичные деревья: бесконечность под рукой 189
Гnава 7. Графы: всегда на связи! 232
Гnава 8. Подведем итоги 288
Об авторе 300
Иллюстрация на обложке 301
Вот до сих пор не могу понять прелести языка Phyton.
С++, да. Паскаль. Да. Ада. Тоже да. Структурные лаконичные языки. Даже Forth с его прибамбасами с польской семантикой.
87913662Вот до сих пор не могу понять прелести языка Phyton.
С++, да. Паскаль. Да. Ада. Тоже да. Структурные лаконичные языки. Даже Forth с его прибамбасами с польской семантикой.
Поржал, конечно, со списка. Человек явно в школе паскаль учил, чуток C++ в институте, а об Ада только слышал. В монструозных (и ненужных) C++ и Ада ничего лаконичного не было и нет.
745on писал(а):
87913946Вероятно, в силу непопулярности, Ады в сравнениях нет, но явно это не из самых лаконичных языков, в отличие от столь непонятного Python.
Ада -- промышленный язык и, как и все промышленные языки (напр. Джава), очень многословный. OCAML:
Код:
let reduce foo =
let rec go carry = function
| [] -> carry
| value :: tail -> go (foo carry value) tail
in go
Тоже самое на Ada:
Код:
generic
type t is private;
type t_list is limited private;
with function foo(Left : t; Right : t) return t;
with function head(item : t_list) return t;
with function tail(item : t_list) return t_list;
with function isNull(item : t_list) return Boolean;
function reduce(carry : t; list : t_list) return t is
begin
if isNull(list) then
return carry;
else
return reduce(foo(carry, head(list)), tail(list));
end if;
end reduce;
87913662Вот до сих пор не могу понять прелести языка Phyton.
если говорить о Питоне как языке - язык как язык. успешно эволюционирующий, получающий от версии к версии удобные элементы из других языков. типа моржа := , или паттерн-матчинга если говорить о Питоне, как явлении, то, собственно, базовая прелесть одна - низкий порог вхождения
из чего следует следующая прелесть: широта коммьюнити
которая обеспечивает всё остальное. и скорость эволюции языка , и поддержку и развитие библиотек, фреймворков и т.д., и их количество на все случаи жизни
а уже от популярности зависит количество рабочих мест, например уж проще назвать базовые минусы
их два. скорость и отсутствие типизации
но над первым работают, а (псевдо)типизацию можно накрутить, есть даже специальная книга , где написано, как это делать. см. "Типизированный Python"
Simtag писал(а):
87913662С++, да. Паскаль. Да. Ада. Тоже да. Структурные лаконичные языки. Даже Forth с его прибамбасами с польской семантикой.
так и на питоне можно структурно и лаконично
но учиться надо на классике, которую вы перечислили, да
Osco do Casco
Обратите внимание на изменения в правилах от 12.06.2025 https://rutr.life/forum/viewtopic.php?t=1590026#17
Серия теперь в заголовке темы указывается после названия книги. В шаблоне это реализовано автоматически.
если говорить о Питоне, как явлении, то, собственно, базовая прелесть одна - низкий порог вхождения
Вообще-то порог вхождения еще выше, чем во многих других языках. Тот же C (не путать с C++) изучить проще.
Базовая прелесть Python в том, что на нем писать легче. И вот именно поэтому он многим и нравится.
Что до скорости, то есть Nuitka, можно писать расширения на C. Не такая уж и проблема.
если говорить о Питоне, как явлении, то, собственно, базовая прелесть одна - низкий порог вхождения
Вообще-то порог вхождения еще выше, чем во многих других языках. Тот же C (не путать с C++) изучить проще.
Базовая прелесть Python в том, что на нем писать легче. И вот именно поэтому он многим и нравится.
Что до скорости, то есть Nuitka, можно писать расширения на C. Не такая уж и проблема.
Подскажите, а можете порекомендовать стоящие для вас курсы и книги по python?
Подскажите, а можете порекомендовать стоящие для вас курсы и книги по python?
Про курсы не знаю, давно уже не надо. Что до книг, то их, с исчерпывающими объяснениеми, просто нет. Поэтому вы можете перейти сюда, и сюда в частности. Определяетесь со структурой материала, чтобы было понятно, что вообще изучать. Потом устанавливаете какой-нибудь командер, который позволяет выполнять поиск в скачанных книгах по ключевым словам. Например, Multi Commander. Качаете все книги по Python, которые претендуют на учебники (формат djvu не годится). И ищите ответы с помощью командера по ключевым словам.