
External
Data Structures
This book is about the creation and analysis of efficient data structures. To understand the material in this book you should be comfortable enough in a programming language to be capable of working with and writing your own variables, arithmetic expressions, if-else conditions, loops, subroutines (also known as functions), pointers (also known as references or object handles), structures (also known as records or classes), simple input and output, and simple recursion.
- Author
- Wikipedia
- Publisher
- LibreTexts
- Source
- LibreTexts
- License
- CC BY-SA
- Language
- EN
- Category
- Information Technology
Contents· 71 sections
- 01: Introduction
- 1.01: The Node
- 1.02: Building a Chain from Nodes
- 1.03: The Principle of Induction
- 1.04: Induction on a Summation
- 02: Asymptotic Notation
- 2.01: Introduction
- 2.02: The O Notation
- 2.03: Big-Omega Notation
- 2.04: Theta Notation
- 2.05: Little-O Notation
- 2.06: Little Omega Notation
- 2.07: How asymptotic notation relates to analyzing complexity
- 2.08: A few examples of asymptotic notation
- 03: Arrays
- 3.01: Type
- 3.02: Bounds
- 3.03: Bounds check
- 3.04: Declaring Array Types
- 3.05: Array Access
- 04: List Structures and Iterators
- 4.01: Syntactic Sugar
- 4.02: Implementations
- 4.03: Bidirectional Lists
- 4.04: Vector Implementation
- 4.05: Tradeoffs
- 4.06: Advantages Disadvantages
- 05: Stacks and Queues
- 5.01: Stacks
- 5.02: Applications of Stacks
- 5.03: Queues
- 5.04: Deques
- 5.05: References
- 06: Trees
- 6.01: Traversal
- 6.02: Sample implementations for Tree Traversal
- 6.03: Examples of Tree Traversals
- 6.04: Balancing
- 6.05: Binary Search Trees
- 6.06: Example extract of Java code for binary tree delete operation
- 6.07: Red-Black trees
- 6.08: B Trees
- 6.09: Treaps
- 6.10: References
- 07: Min and Max Heaps
- 7.01: Compute the extreme value
- 7.02: Removing the Extreme Value
- 7.03: Inserting a value into the heap
- 7.04: TODO
- 7.05: Applications of Priority Heaps
- 08: Graphs
- 8.01: Directed Graphs
- 8.02: Undirected Graphs
- 8.03: Weighted Graphs
- 8.04: Graph Representations
- 8.05: Graph Traversals
- 09: Hash Tables
- 9.01: Time complexity and common uses of hash tables
- 9.02: Choosing a good hash function
- 9.03: Collision resolution
- 9.04: Table resizing
- 9.05: Ordered retrieval issue
- 9.06: Problems with hash tables
- 9.07: Other hash table algorithms
- 9.08: Implementations
- 9.09: References
- 10: Sets
- 10.01: List implementation
- 10.02: Bit array implementation
- 10.03: Associative array implementation
- 11: Tradeoffs