Chapter
Statically versus dynamically typed languages
Implicit and explicit casting
Chapter 2: Arrays: Foundational Collections
Mutable versus immutable arrays
Case study: users logged in to a web service
Chapter 3: Lists: Linear Collections
Revisiting users logged in to a service
Chapter 4: Stacks: LIFO Collections
Case study: motion planning algorithm
Advanced topics – stack implementations
Chapter 5: Queues: FIFO Collections
Case study: customer service
Chapter 6: Dictionaries: Keyed Collections
Initializing dictionaries
Case study: arcade ticket totals
Hash table based dictionaries
Search tree based dictionaries
Chapter 7: Sets: No Duplicates
Example: revisiting users logged in to a service
Case-study: music playlists
Chapter 8: Structs: Complex Types
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
Creating structs in Objective-C
Creating structs in Swift
Case study: the Metro line
Chapter 9: Trees: Non-Linear Structures
Tree data structure versus tree data type
Chapter 10: Heaps: Ordered Trees
Chapter 11: Graphs: Values with Relationships
Chapter 12: Sorting: Bringing Order Out Of Chaos
Searching: Finding What You Need