3 options
Everyday data structures / William Smith.
- Format:
- Book
- Author/Creator:
- Smith, William, author.
- Language:
- English
- Subjects (All):
- Data structures (Computer science).
- Programming languages (Electronic computers).
- Physical Description:
- 1 online resource (336 pages) : illustrations (some color)
- Edition:
- 1st edition
- Place of Publication:
- Birmingham, England ; Mumbai, [India] : Packt, 2017.
- System Details:
- text file
- Summary:
- A practical guide to learning data structures simply and easily About This Book This book is a very practical, friendly, and useful guide that will help you analyze problems and choose the right data structures for your solution Learn to recognize data patterns for determining which structures apply to a given problem Explore the unique rules or ?gotchas? that will help you become an excellent programmer Who This Book Is For If you're self-taught programmers in any language who wants to gain a solid understanding of data structures and how to use them to solve real-world problems in your day-to-day development work, then this book is for you. What You Will Learn A rapid overview of data types, applications for each type, best practices and high-level variations between platforms Review the most common data structures and build working examples in the languages used for mobile platform software development Understand advanced data structure concepts such as generic collections, searching and sorting algorithms, and recursion Learn to use Stacks (LIFO) and queues (FIFO) in your daily application Add/remove objects and nest arrays and dictionaries within another dictionary and understand why such architecture is often preferred or necessary Get acquainted with the tree structures such as heap, binary, and graphs, apply them to work Unleash the power of different sorting techniques such as bubble sort, quick sort, merge sort, insertion sort, and radix sort Perform searching operations on arrays, heaps, graphs, and binary trees in different languages In Detail If you want to learn different data structures and their real-world applications quickly through practical examples, then Everyday Data Structures is for you. This book can introduce you to new data structures and their potential applications through examples in languages common to mobile software development on the most popular platforms. The examples are presented with real-world concepts using language that everyone will understand. This book is logically divided into two parts; the first one covers the basic data structures that are built into most languages such as Objective-C, C#, Java, and Swift. It will cover detailed analysis of the common data structures such as arrays, lists, stacks, Queues, and heaps, typical applications, and specific concerns for each language. Each chapter will provide in-depth examples in several popular languages based on real-world applications. The second p...
- Contents:
- Cover
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: Data Types: Foundational Structures
- Numeric data types
- Integer types
- Single precision float
- Double precision float
- Currency
- Typecasting
- Statically versus dynamically typed languages
- Implicit and explicit casting
- Widening and narrowing
- Boolean data type
- Operator precedence
- Short-circuiting
- Strings
- Summary
- Chapter 2: Arrays: Foundational Collections
- Mutable versus immutable arrays
- Case study: users logged in to a web service
- Advanced topics
- Linear search
- Primitive arrays
- Object arrays
- Mixed arrays
- Multidimensional arrays
- Jagged Arrays
- Chapter 3: Lists: Linear Collections
- List implementations
- Array-based lists
- Linked list
- Instantiating lists
- Revisiting users logged in to a service
- Generics
- Case study: bike route
- Doubly linked list
- Searching
- A few pointers
- Chapter 4: Stacks: LIFO Collections
- Initializing stacks
- UINavigationController
- Stack operations
- Case study: motion planning algorithm
- Advanced topics - stack implementations
- Array-based stack
- Linked list-based stack
- Chapter 5: Queues: FIFO Collections
- Initializing queues
- Queue operations
- Case study: customer service
- Array-based queues
- Linked list-based queues
- Heap-based queues
- Double-ended queues
- Priority queues
- Chapter 6: Dictionaries: Keyed Collections
- Initializing dictionaries
- Dictionary operations
- Case study: arcade ticket totals
- Hash table based dictionaries
- Search tree based dictionaries
- Chapter 7: Sets: No Duplicates
- Set theory
- Initializing sets
- Set operations.
- Example: revisiting users logged in to a service
- We would need a contract
- Case-study: music playlists
- Hash table-based sets
- Tree-based sets
- Array-based sets
- Chapter 8: Structs: Complex Types
- The essentials
- C#
- Creating structs in C#
- Rule 1: The struct will logically represent a single value
- Rule 2: Each instance of the struct must be under 16 bytes
- Rule 3: The data must be immutable
- Rule 4: The struct will not require repeated boxing
- Conversion
- Java
- Objective-C
- Creating structs in Objective-C
- Swift
- Creating structs in Swift
- Enums
- Case study: the Metro line
- Chapter 9: Trees: Non-Linear Structures
- Tree data structure versus tree data type
- Tree terminology
- Common operations
- Instantiating trees
- Tree structures
- Recursion
- Traversal
- Chapter 10: Heaps: Ordered Trees
- Heap implementations
- Heap operations
- Instantiating heaps
- Min heap structure
- Common applications
- Chapter 11: Graphs: Values with Relationships
- Visual graph concepts
- Graph operations
- Graph implementations
- The graph data structure
- Chapter 12: Sorting: Bringing Order Out Of Chaos
- Selection sort
- Insertion sort
- Bubble sort
- Quick sort
- Merge sort
- Bucket sort
- Searching: Finding What You Need
- Binary search
- Jump search
- Index.
- Notes:
- Includes index.
- Description based on online resource; title from PDF title page (ebrary, viewed March 27, 2017).
- ISBN:
- 9781787129832
- 1787129837
- OCLC:
- 983202660
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.