Everyday data structures

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...

Descripción completa

Detalles Bibliográficos
Otros Autores: Smith, William, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, England ; Mumbai, [India] : Packt 2017.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630323406719
Tabla de Contenidos:
  • 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
  • Summary
  • 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
  • Summary
  • 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
  • Summary
  • Chapter 5: Queues: FIFO Collections
  • Initializing queues
  • Queue operations
  • Case study: customer service
  • Advanced topics
  • Array-based queues
  • Linked list-based queues
  • Heap-based queues
  • Double-ended queues
  • Priority queues
  • Summary
  • Chapter 6: Dictionaries: Keyed Collections
  • Initializing dictionaries
  • Dictionary operations
  • Case study: arcade ticket totals
  • Advanced topics
  • Hash table based dictionaries
  • Search tree based dictionaries
  • Summary
  • 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
  • Advanced topics
  • Hash table-based sets
  • Tree-based sets
  • Array-based sets
  • Summary
  • 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
  • Summary
  • Chapter 9: Trees: Non-Linear Structures
  • Tree data structure versus tree data type
  • Tree terminology
  • Common operations
  • Instantiating trees
  • Tree structures
  • Recursion
  • Traversal
  • Summary
  • Chapter 10: Heaps: Ordered Trees
  • Heap implementations
  • Heap operations
  • Instantiating heaps
  • Min heap structure
  • Common applications
  • Summary
  • Chapter 11: Graphs: Values with Relationships
  • Visual graph concepts
  • Graph operations
  • Graph implementations
  • The graph data structure
  • Summary
  • Chapter 12: Sorting: Bringing Order Out Of Chaos
  • Selection sort
  • Insertion sort
  • Bubble sort
  • Quick sort
  • Merge sort
  • Bucket sort
  • Summary
  • Searching: Finding What You Need
  • Linear search
  • Binary search
  • Jump search
  • Summary
  • Index.