Классические задачи Computer Science на языке Python, Копец Д., 2020.
Многие задачи в области Computer Science, которые на первый взгляд кажутся новыми или уникальными, на самом деле уходят корнями в классические алгоритмы, методы кодирования и принципы разработки. И устоявшиеся техники по-прежнему остаются лучшим способом решения таких задач! Научитесь писать оптимальный код для веб-разработки, обработки данных, машинного обучения и других актуальных сфер применения Python.
Книга даст вам возможность глубже освоить язык Python, проверить себя на испытанных временем задачах, упражнениях и алгоритмах. Вам предстоит решать десятки заданий по программированию: от самых простых (например, найти элементы списка с помощью двоичной сортировки), до сложных (выполнить кластеризацию данных методом k-средних). Прорабатывая примеры, посвященные поиску, кластеризации, графам и пр., вы вспомните то, о чем успели позабыть, и овладеете классическими приемами решения повседневных задач.
Простейшее сжатие.
Зачастую важна бывает экономия места — виртуального или реального. Использовать меньше места означает более эффективно работать и экономить деньги. Если вы арендуете квартиру большей площади, чем нужно для ваших семьи и вещей, то можете ужаться до жилья меньшего размера, которое стоит дешевле. Если вы побайтно платите за хранение данных на сервере, то можете сжать данные так, чтобы их хранение обходилось дешевле. Сжатие — это процесс получения данных и их кодирования (изменения формы) таким образом, чтобы они занимали меньше места. Распаковка предусматривает обратный процесс — возвращение данных в исходную форму.
Если сжатие данных так эффективно для их хранения, то почему оно не применяется для всех данных? Дело в том, что существует компромисс между временем и пространством. На то, чтобы сжать часть данных и распаковать их обратно в исходную форму, требуется время. Поэтому сжатие данных имеет смысл только в ситуациях, когда небольшой размер важнее, чем быстрое выполнение. Возьмем, к примеру, большие файлы, передаваемые через Интернет. Их сжатие имеет смысл, поскольку для передачи файлов потребуется больше времени, чем для их распаковки после получения. Кроме того, время, необходимое для сжатия файлов при их хранении на исходном сервере, необходимо учитывать только один раз.
Оглавление.
Глава 1. Простые задачи.
Глава 2. Задачи поиска.
Глава 3. Задачи с ограничениями.
Глава 4. Графовые задачи.
Глава 5. Генетические алгоритмы.
Глава 6. Кластеризация методом к-средних.
Глава 7. Простейшие нейронные сети.
Глава 8. Состязательный поиск.
Глава 9. Другие задачи.
Приложение А. Глоссарий.
Приложение Б. Дополнительные ресурсы.
Приложение В. Коротко об аннотациях типов.
Купить .
Теги: учебник по программированию :: программирование :: Копец
Смотрите также учебники, книги и учебные материалы:
- Kali Linux, Тестирование на проникновение и безопасность, Парасрам Ш., Замм А., 2020
- Объектно-ориентированный подход, Вайсфельд М., 2020
- Ловушка для багов, Полевое руководство по веб-хакингу, Яворски П., 2020
- Конкурентность в С#, Асинхронное, параллельное и многопоточное программирование, Клири С., 2020
- Карьера программиста, Лакман М.Г., 2020
- Python, Искусственный интеллект, большие данные и облачные вычисления, Дейтел П., Дейтел Х., 2020
- Гид по Computer Science для каждого программиста, Спрингер В., 2020
- Java Concurrency на практике, Гетц Брайан, Пайерлс Тим, Блох Джошуа, Боубер Джозеф, Холмс Дэвид, Ли Даг, 2020