Grokking Data Structures / Грокаем структуры данных
Год издания: 2024
Автор: La Rocca Marcello / Ла Рокка Марчелло
Издательство: Manning Publications Co.
ISBN: 978-1-6334-3699-2
Язык: Английский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 282
Описание: Don't be perplexed by data structures! This fun, friendly, and fully illustrated guide makes it easy to learn useful data structures you'll put to work every day.
Grokking Data Structures makes it a breeze to learn the most useful day-to-day data structures. You'll follow a steady learning path from absolute basics to advanced concepts, all illustrated with fun examples, engaging industry stories, and hundreds of graphics and cartoons.
This book teaches data structures to anyone, no matter what their background. You don’t need advanced math, you don’t need to have taken CS101 or any course; you don’t need to be a coding ninja, but some knowledge of Python might help. This book, like every book in the Grooking series, gives you an understanding of how things work: what data structure is, what the basic structures you can use are, and how can you objectively decide which data structure is better for your task. It’s a book for beginners, meaning that it assumes no previous knowledge and it leverages your intuition and visual memory, but even if you are familiar with the subject, you might find it useful to dust off and even get a deeper understanding of some of the topics.
In Grokking Data Structures you'll learn how to:
Understand the most important and widely used data structures
Identify use cases where data structures make the biggest difference
Pick the best data structure solution for a coding challenge
Understand the tradeoffs of data structures and avoid catastrophes
Implement basic data collections like arrays, linked lists, stacks, and priority queues
Use trees and binary search trees (BSTs) to organize data
Use graphs to model relationships and learn about complex data
Efficiently search by key using hash tables and hashing functions
Reason about time and memory requirements of operations on data structures
Grokking Data Structures carefully guides you from the most basic data structures like arrays or linked lists all the way to powerful structures like graphs. It's perfect for beginners, and you won't need anything more than high school math to get started. Each data structure you encounter comes with its own complete Python implementation so you can start experimenting with what you learn right away.
Foreword by Daniel Zingaro.
About the technology:
Data structures are vital for shaping and handling your data organization. They're also an important part of most IT job interviews! Whether you're new to data structures or just dusting off what you learned in school, this book will get you up to speed fast with no advanced math, abstract theory, or complicated proofs.
About the book:
Grokking Data Structures introduces common and useful data structures that every developer needs to know. Real-world examples show you how data structures are used in practice, from making your searches faster to handling triage in an emergency room. You'll love the fun cartoons, insightful stories, and useful Python code samples that make data structures come alive. And unlike jargon-laden academic texts, this book is easy-to-read and practical.
What's inside:
Fast searches using hash tables
Trees and binary search trees (BSTs) to organize data
Use graphs to model complex data
The best data structures for a coding challenge
About the reader:
For readers who know the basics of Python. A perfect companion to Grokking Algorithms!
About the author:
Marcello La Rocca is a research scientist and a full-stack engineer. He has contributed to large-scale web applications and machine learning infrastructure at Twitter, Microsoft, and Apple.
Пусть структуры данных не приводят вас в замешательство! Это веселое, понятное и полностью иллюстрированное руководство поможет вам легко освоить полезные структуры данных, с которыми вы будете работать каждый день.
Грокинг структур данных упрощает изучение наиболее полезных структур данных, используемых в повседневной жизни. Вы пройдете непрерывный путь обучения от абсолютных основ до продвинутых концепций, все это будет проиллюстрировано забавными примерами, увлекательными отраслевыми историями и сотнями графических изображений и мультфильмов.
Эта книга знакомит со структурами данных любого человека, независимо от его образования. Вам не нужны продвинутые математические знания, вам не нужно проходить CS101 или какие-либо другие курсы; вам не нужно быть ниндзя в программировании, но некоторые знания Python могут помочь. Эта книга, как и все книги серии Grooking, дает вам представление о том, как все работает: что такое структура данных, какие базовые структуры вы можете использовать и как вы можете объективно решить, какая структура данных лучше подходит для вашей задачи. Это книга для начинающих, а это значит, что она не предполагает никаких предварительных знаний и использует вашу интуицию и зрительную память, но даже если вы знакомы с предметом, вам может оказаться полезным отряхнуться и даже глубже разобраться в некоторых темах.
Из книги Грокаем структуры данных вы узнаете, как:
Разобраться в наиболее важных и широко используемых структурах данных
Определить варианты использования, в которых структуры данных имеют наибольшее значение
Выбрать наилучшее решение для решения задач программирования с использованием структур данных
Понять компромиссы между структурами данных и избежать катастроф
Реализуйте базовые коллекции данных, такие как массивы, связанные списки, стеки и очереди с приоритетами
Используйте деревья и деревья бинарного поиска (BST) для организации данных
Используйте графики для моделирования взаимосвязей и изучения сложных данных
Эффективный поиск по ключу с использованием хэш-таблиц и функций хэширования
Рассуждения о требованиях ко времени и памяти для операций со структурами данных
Грокаем структуры данных тщательно проведет вас от самых простых структур данных, таких как массивы или связанные списки, до мощных структур, таких как графики. Он идеально подходит для начинающих, и для начала вам не понадобится ничего, кроме школьной математики. Каждая структура данных, с которой вы сталкиваетесь, имеет свою собственную полную реализацию на языке Python, так что вы можете сразу же начать экспериментировать с тем, что узнаете.
Предисловие Дэниела Зингаро.
О технологии:
Структуры данных жизненно важны для формирования вашей организации данных и управления ими. Они также являются важной частью большинства собеседований при приеме на работу в сфере ИТ! Являетесь ли вы новичком в структурах данных или просто вспоминаете то, что изучали в школе, эта книга быстро введет вас в курс дела без углубленной математики, абстрактной теории или сложных доказательств.
О книге:
В книге представлены общие и полезные структуры данных, которые необходимо знать каждому разработчику. Реальные примеры показывают, как структуры данных используются на практике - от ускорения поиска до сортировки в отделении неотложной помощи. Вам понравятся забавные мультфильмы, интересные истории и полезные примеры кода на Python, которые оживляют структуры данных. И в отличие от академических текстов, насыщенных жаргоном, эта книга проста для чтения и практична.
Что внутри:
Быстрый поиск с использованием хэш-таблиц
Деревья и деревья бинарного поиска (BST) для организации данных
Используйте графики для моделирования сложных данных
Лучшие структуры данных для решения задач программирования
О читателе:
Для читателей, знакомых с основами Python. Идеальный помощник в грокинге алгоритмов!
Об авторе:
Марчелло Ла Рокка - ученый-исследователь и инженер полного цикла. Он внес свой вклад в создание крупномасштабных веб-приложений и инфраструктуры машинного обучения в Twitter, Microsoft и Apple.
Примеры страниц (скриншоты)
Оглавление
1 Introducing data structures:
Why you should learn about data structures 1
2 Static arrays: Building your first data structure 15
3 Sorted arrays: Searching faster, at a price 33
4 Big-O notation: A framework for measuring
algorithm efficiency 43
5 Dynamic arrays: Handling dynamically sized datasets 59
6 Linked lists: A flexible dynamic collection 77
7 Abstract data types: Designing
the simplest container—the bag 103
8 Stacks: Piling up data before processing it 119
9 Queues: Keeping information in the same order as
it arrives 137
10 Priority queues and heaps: Handling data according
to its priority 159
11 Binary search trees: A balanced container 183
12 Dictionaries and hash tables: How to build and
use associative arrays 203
13 Graphs: Learning how to model complex
relationships in data 223