Required Background Knowledge¶
- -1.1. Chapter Introduction
- -1.2. Chapter Summary Questions
- -1.3. Data Structures and Algorithms
- -1.4. Estimation
- -1.5. Logarithms
- -1.6. Mathematical Proof Techniques
- -1.7. Miscellaneous Notation
- -1.8. Recurrence Relations
- -1.9. Sets and Relations
- -1.10. Summations
- -1.11. Math Background
- -1.11.1. Math Background
- -1.11.1.1. Set Notation
- -1.11.1.2. Set Relations
- -1.11.1.3. Equivalence Relations
- -1.11.1.4. Total vs. Partial Order
- -1.11.1.5. Miscellaneous Notation
- -1.11.1.6. Logarithms
- -1.11.1.7. Summations and Recurrences
- -1.11.1.8. Induction Proofs
- -1.11.1.9. Estimation Techniques
- -1.11.1.10. Estimation Example
- -1.11.1. Math Background
- -1.12. Introduction to Object-Oriented Programming
Abstract Data Types vs. DS¶
Preface¶
Appendix¶
- -1.1. Glossary
- -1.2. Bibliography
- -1.3. Common Debugging Methods
- -1.4. Testing for Code Coverage
- -1.5. Another Example
- -1.6. Testing
- -1.7. Introduction to Analyzing a Problem
- -1.8. An Introduction to Problem Solving
- -1.9. Assessment 1 Info
- -1.10. Assessment 1 Info
- -1.11. Assessment 2 Info
- -1.12. Assessment 2 Info
- -1.13. Assessment 3 Info
- -1.14. Assessment 3 Info
- -1.15. Assessment 4 Info
- -1.16. Assessment 4 Info
- -1.17. Indexing Chapter Introduction
- -1.18. Linear Indexing
- -1.19. 2-3 Trees
- -1.20. B-Trees
- -1.21. ISAM
- -1.22. Indexing Summary Exercises
- -1.23. Tree-based Indexing
Chapter1: Motivation¶
Chapter2: LinkedLists¶
- -1.1. Lists
- -1.1.1. Lists
- -1.1.1.1. Lists
- -1.1.1.2. List Implementation Concepts
- -1.1.1.3. List ADT (1)
- -1.1.1.4. List ADT (2)
- -1.1.1.5. List ADT (3)
- -1.1.1.6. List ADT Examples
- -1.1.1.7. List Find Function
- -1.1.1.8. Array-Based List Class (1)
- -1.1.1.9. Array-Based List Insert
- -1.1.1.10. Link Class
- -1.1.1.11. Linked List Position (1)
- -1.1.1.12. Linked List Position (2)
- -1.1.1.13. Linked List Position (3)
- -1.1.1.14. Design Principle: Design to Avoid Special Cases
- -1.1.1.15. Linked List Class (1)
- -1.1.1.16. Linked List Class (2)
- -1.1.1.17. Insertion
- -1.1.1.18. Removal
- -1.1.1.19. Prev
- -1.1.1.20. Overhead
- -1.1.1.21. Comparison of Implementations
- -1.1.1.22. Space Comparison
- -1.1.1.23. Space Example
- -1.1.1.24. Freelist
- -1.1.1.25. Doubly Linked Lists
- -1.1.1.26. Doubly Linked Node (1)
- -1.1.1.27. Doubly Linked Insert
- -1.1.1.28. Doubly Linked Remove
- -1.1.1. Lists
- -1.1. Lists
- -1.1.1. Lists
- -1.1.1.1. Lists
- -1.1.1.2. List Implementation Concepts
- -1.1.1.3. List ADT (1)
- -1.1.1.4. List ADT (2)
- -1.1.1.5. List ADT (3)
- -1.1.1.6. List ADT Examples
- -1.1.1.7. List Find Function
- -1.1.1.8. Array-Based List Class (1)
- -1.1.1.9. Array-Based List Insert
- -1.1.1.10. Link Class
- -1.1.1.11. Linked List Position (1)
- -1.1.1.12. Linked List Position (2)
- -1.1.1.13. Linked List Position (3)
- -1.1.1.14. Design Principle: Design to Avoid Special Cases
- -1.1.1.15. Linked List Class (1)
- -1.1.1.16. Linked List Class (2)
- -1.1.1.17. Insertion
- -1.1.1.18. Removal
- -1.1.1.19. Prev
- -1.1.1.20. Overhead
- -1.1.1.21. Comparison of Implementations
- -1.1.1.22. Space Comparison
- -1.1.1.23. Space Example
- -1.1.1.24. Freelist
- -1.1.1.25. Doubly Linked Lists
- -1.1.1.26. Doubly Linked Node (1)
- -1.1.1.27. Doubly Linked Insert
- -1.1.1.28. Doubly Linked Remove
- -1.1.1. Lists
- -1.2. List Iteration Visualizations
- -1.3. Classwork 8
- -1.4. Homework 8
- -1.5. List Iteration
Chapter3: Stacks and Recursion¶
- -1.1. Recursion
- -1.1.1. Objectives
- -1.1.2. Introduction to Recursion
- -1.1.3. Checkpoint 1
- -1.1.4. Interactive: More Recursion : Factorial Examples
- -1.1.5. Programming Practice: Recursion 1
- -1.1.6. Interactive: Recursion on Arrays: Display an Array
- -1.1.7. Checkpoint 2
- -1.1.8. Interactive: Recursion on Arrays: Display the Middle of an Array
- -1.1.9. Checkpoint 3
- -1.1.10. Programming Practice: Recursion 2
- -1.1.11. Interactive: Recursion on Linked Chains
- -1.1.12. Interactive: Tower of Hanoi
- -1.1.13. Checkpoint 4
- -1.1.14. Interactive: Recursion Wrap Up
- -1.1.15. Programming Practice: Recursion 3
- -1.1.16. Forward Flow Tracing Exercises
- -1.1.17. Backward Flow Tracing Exercises
- -1.1.18. Find Error Tracing Exercises
- -1.1.19. Two Recursive Calls Tracing Exercises
- -1.1.20. How Many Times Tracing Exercises
- -1.1.21. Harder Tracing Exercises
- -1.2. Stacks
- -1.2.1. Objectives
- -1.2.2. Interactive: Introduction to Stacks
- -1.2.3. Checkpoint 1
- -1.2.4. Interactive: Stack Memory Example
- -1.2.5. Checkpoint 2
- -1.2.6. Stacks Array-Based Design
- -1.2.7. Checkpoint 3
- -1.2.8. Stacks Array Implementation
- -1.2.9. Stacks Linked Chain Implementation
- -1.2.10. Checkpoint 4
- -1.2.11. Programming Practice: LinkedStacks
- -1.3. Stacks and Queues
- -1.3.1. Container Class Design Issues
- -1.3.2. Stacks
- -1.3.3. Stack ADT
- -1.3.4. Array-Based Stack (1)
- -1.3.5. Array-Based Stack (2)
- -1.3.6. Linked Stack
- -1.3.7. Queues
- -1.3.8. Queue Implementation (1)
- -1.3.9. Queue Implementation (2)
- -1.3.10. Queue Implementation (3)
- -1.3.11. Circular Queue (1)
- -1.3.12. Circular Queue (2)
Chapter4: Asymptotic Analysis of Algorithms¶
- -1.1. Growth Rates Review
- -1.2. Algorithm Analysis Summary Exercises
- -1.3. Algorithm Analysis Summary Exercises
- -1.4. Analyzing Problems
- -1.5. Asymptotic Analysis and Upper Bounds
- -1.6. Best, Worst, and Average Cases
- -1.7. Calculating Program Running Time
- -1.8. Chapter Introduction
- -1.9. Code Tuning and Empirical Analysis
- -1.10. Common Misunderstandings
- -1.11. Comparing Algorithms
- -1.12. Faster Computer, or Faster Algorithm?
- -1.13. Lower Bounds and \(\Theta\) Notation
- -1.14. Multiple Parameters
- -1.15. Problems, Algorithms, and Programs
- -1.16. Space Bounds
- -1.17. Algorithm Analysis
- -1.17.1. Algorithm Analysis
- -1.17.1.1. Algorithm Efficiency
- -1.17.1.2. How to Measure Efficiency?
- -1.17.1.3. Problems, Algorithms, Programs
- -1.17.1.4. Growth Rate Example (1)
- -1.17.1.5. Growth Rate Example (2)
- -1.17.1.6. Growth Rate Graph
- -1.17.1.7. Best, Worst, Average Cases
- -1.17.1.8. Which Analysis to Use?
- -1.17.1.9. Faster Computer or Algorithm?
- -1.17.1.10. Faster Computer or Algorithm? 2
- -1.17.1.11. Asymptotic Analysis: Big-oh
- -1.17.1.12. Big-oh Notation (cont)
- -1.17.1.13. Big-Oh Examples
- -1.17.1.14. Big-Oh Examples (2)
- -1.17.1.15. A Common Misunderstanding
- -1.17.1.16. Big-Omega \(\Omega\)
- -1.17.1.17. Big-Omega Example
- -1.17.1.18. Theta Notation \(\Theta\)
- -1.17.1.19. A Common Misunderstanding
- -1.17.1.20. Simplifying Rules
- -1.17.1.21. Summary
- -1.17.1.22. .
- -1.17.1.23. Time Complexity Examples (1)
- -1.17.1.24. Time Complexity Examples (2)
- -1.17.1.25. Time Complexity Examples (3)
- -1.17.1.26. Time Complexity Examples (4)
- -1.17.1.27. Binary Search
- -1.17.1.28. Other Control Statements
- -1.17.1.29. Analyzing Problems
- -1.17.1.30. Analyzing Problems: Example
- -1.17.1.31. Space/Time Tradeoff Principle
- -1.17.1.32. Multiple Parameters
- -1.17.1.33. Space Complexity
- -1.17.1. Algorithm Analysis
- -1.17. Algorithm Analysis
- -1.17.1. Algorithm Analysis
- -1.17.1.1. Algorithm Efficiency
- -1.17.1.2. How to Measure Efficiency?
- -1.17.1.3. Problems, Algorithms, Programs
- -1.17.1.4. Growth Rate Example (1)
- -1.17.1.5. Growth Rate Example (2)
- -1.17.1.6. Growth Rate Graph
- -1.17.1.7. Best, Worst, Average Cases
- -1.17.1.8. Which Analysis to Use?
- -1.17.1.9. Faster Computer or Algorithm?
- -1.17.1.10. Faster Computer or Algorithm? 2
- -1.17.1.11. Asymptotic Analysis: Big-oh
- -1.17.1.12. Big-oh Notation (cont)
- -1.17.1.13. Big-Oh Examples
- -1.17.1.14. Big-Oh Examples (2)
- -1.17.1.15. A Common Misunderstanding
- -1.17.1.16. Big-Omega \(\Omega\)
- -1.17.1.17. Big-Omega Example
- -1.17.1.18. Theta Notation \(\Theta\)
- -1.17.1.19. A Common Misunderstanding
- -1.17.1.20. Simplifying Rules
- -1.17.1.21. Summary
- -1.17.1.22. .
- -1.17.1.23. Time Complexity Examples (1)
- -1.17.1.24. Time Complexity Examples (2)
- -1.17.1.25. Time Complexity Examples (3)
- -1.17.1.26. Time Complexity Examples (4)
- -1.17.1.27. Binary Search
- -1.17.1.28. Other Control Statements
- -1.17.1.29. Analyzing Problems
- -1.17.1.30. Analyzing Problems: Example
- -1.17.1.31. Space/Time Tradeoff Principle
- -1.17.1.32. Multiple Parameters
- -1.17.1.33. Space Complexity
- -1.17.1. Algorithm Analysis
Chapter5: Simple Sorting Algorithms¶
- -1.1. Chapter Introduction: Sorting
- -1.2. Lower Bounds for Sorting
- -1.3. Selection Sort
- -1.4. Insertion Sort
- -1.5. Sorting Summary Exercises
- -1.6. The Cost of Exchange Sorting
- -1.7. Sorting Terminology and Notation
- -1.8. An Empirical Comparison of Sorting Algorithms
- -1.9. Sorting: Quadratic Sorts
- -1.9.1. Quadratic Sorts
- -1.9.1.1. Sorting
- -1.9.1.2. Insertion Sort
- -1.9.1.3. Initial Step
- -1.9.1.4. Analysis: Worst Case
- -1.9.1.5. Analysis: Best Case
- -1.9.1.6. Analysis: Average Case
- -1.9.1.7. Bubble Sort
- -1.9.1.8. Analysis
- -1.9.1.9. Selection Sort
- -1.9.1.10. Analysis
- -1.9.1.11. Summary
- -1.9.1.12. Code Tuning (1)
- -1.9.1.13. Exchange Sorting
- -1.9.1. Quadratic Sorts
Chapter6: Searching Sorted Data (Binary Search)¶
Chapter7: Storing Dynamic Data for Efficient Search (BST and AVL)¶
- -1.1. Analyzing Search in Unsorted Lists
- -1.2. Balanced Trees
- -1.3. The AVL Tree
- -1.4. Binary Search Trees
- -1.4.1. Objectives
- -1.4.2. Interactive: Introduction to Binary Search Trees
- -1.4.3. Checkpoint 1
- -1.4.4. Interactive: Programming Binary Search Trees
- -1.4.5. Checkpoint 2
- -1.4.6. Interactive: Adding Binary Search Trees
- -1.4.7. Checkpoint 3
- -1.4.8. Interactive: Removing From Binary Search Trees
- -1.4.9. Checkpoint 4
- -1.5. Lab 14 BST
- -1.6. Binary Search Trees
- -1.7. Binary Tree Chapter Summary
- -1.8. Binary Tree Node Implementations
- -1.9. Binary Tree Space Requirements
- -1.10. Binary Tree Traversals
- -1.11. Binary Tree as a Recursive Data Structure
- -1.12. Binary Trees
- -1.13. Binary Trees Chapter Introduction
- -1.14. Heaps
- -1.15. Implementing Tree Traversals
- -1.16. Binary Trees Part 1
- -1.16.1. Binary Trees Part 1
- -1.16.1.1. Binary Trees
- -1.16.1.2. A Recursive Data Structure
- -1.16.1.3. Binary Tree Node Class
- -1.16.1.4. Question
- -1.16.1.5. Traversals
- -1.16.1.6. Preorder Traversal (1)
- -1.16.1.7. Preorder Traversal (2)
- -1.16.1.8. How not to write a traversal
- -1.16.1.9. Recursion Examples
- -1.16.1.10. Full and Complete Binary Trees
- -1.16.1.11. Full Binary Tree Theorem (1)
- -1.16.1.12. Full Binary Tree Theorem (2)
- -1.16.1.13. Full Binary Tree Corollary
- -1.16.1.14. Dictionary
- -1.16.1.15. .
- -1.16.1.16. Dictionary (2)
- -1.16.1. Binary Trees Part 1
- -1.17. Binary Trees Part 2
- -1.17.1. Binary Trees Part 2
- -1.17.1.1. Full and Complete Binary Trees
- -1.17.1.2. Full Binary Tree Theorem (1)
- -1.17.1.3. Full Binary Tree Theorem (2)
- -1.17.1.4. Full Binary Tree Corollary
- -1.17.1.5. Dictionary
- -1.17.1.6. .
- -1.17.1.7. Dictionary (2)
- -1.17.1.8. Binary Search Trees
- -1.17.1.9. BST as a Dictionary (1)
- -1.17.1.10. BST as a Dictionary (2)
- -1.17.1.11. BST
findhelp - -1.17.1.12. BST
inserthelp - -1.17.1.13. BST
deletemax - -1.17.1.14. BST
removehelp - -1.17.1.15. .
- -1.17.1.16. BST Analysis
- -1.17.1. Binary Trees Part 2
- -1.18. Binary Trees Part 3
- -1.18.1. Binary Trees Part 3
- -1.18.1.1. Binary Tree Implementation (1)
- -1.18.1.2. Binary Tree Implementation (2)
- -1.18.1.3. Inheritance (1)
- -1.18.1.4. Inheritance (2)
- -1.18.1.5. Inheritance (3)
- -1.18.1.6. Design Patterns
- -1.18.1.7. Composite (1)
- -1.18.1.8. Composite (2)
- -1.18.1.9. Composite (3)
- -1.18.1.10. Space Overhead (1)
- -1.18.1.11. Space Overhead (2)
- -1.18.1. Binary Trees Part 3
- -1.19. BinTrees
- -1.19.1. BinTrees
- -1.19.1.1. Spatial Data Structures
- -1.19.1.2. Bintree (1)
- -1.19.1.3. Bintree (2)
- -1.19.1.4. Bintree Visualization
- -1.19.1.5. Ineractive Bintree
- -1.19.1.6. Implementation
- -1.19.1.7. Tree/Node Implementation (1)
- -1.19.1.8. Tree/Node Implementation (2)
- -1.19.1.9. Design Patterns (1)
- -1.19.1.10. Design Patterns (2)
- -1.19.1.11. Design Patterns (3)
- -1.19.1. BinTrees
- -1.6. Binary Search Trees
- -1.16. Binary Trees Part 1
- -1.16.1. Binary Trees Part 1
- -1.16.1.1. Binary Trees
- -1.16.1.2. A Recursive Data Structure
- -1.16.1.3. Binary Tree Node Class
- -1.16.1.4. Question
- -1.16.1.5. Traversals
- -1.16.1.6. Preorder Traversal (1)
- -1.16.1.7. Preorder Traversal (2)
- -1.16.1.8. How not to write a traversal
- -1.16.1.9. Recursion Examples
- -1.16.1.10. Full and Complete Binary Trees
- -1.16.1.11. Full Binary Tree Theorem (1)
- -1.16.1.12. Full Binary Tree Theorem (2)
- -1.16.1.13. Full Binary Tree Corollary
- -1.16.1.14. Dictionary
- -1.16.1.15. .
- -1.16.1.16. Dictionary (2)
- -1.16.1. Binary Trees Part 1
- -1.18. Binary Trees Part 3
- -1.18.1. Binary Trees Part 3
- -1.18.1.1. Binary Tree Implementation (1)
- -1.18.1.2. Binary Tree Implementation (2)
- -1.18.1.3. Inheritance (1)
- -1.18.1.4. Inheritance (2)
- -1.18.1.5. Inheritance (3)
- -1.18.1.6. Design Patterns
- -1.18.1.7. Composite (1)
- -1.18.1.8. Composite (2)
- -1.18.1.9. Composite (3)
- -1.18.1.10. Space Overhead (1)
- -1.18.1.11. Space Overhead (2)
- -1.18.1. Binary Trees Part 3
Chapter8: Range Search in AVL¶
Chapter9: Advanced Soring Algorithms¶
- -1.1. Mergesort Concepts
- -1.2. Quicksort
- -1.3. Quicksort
- -1.4. Implementing Mergesort
- -1.5. Dynamic Programming
- -1.6. Sorting: Faster Sorts
- -1.6.1. Faster Sorts
- -1.6.1.1. Shellsort
- -1.6.1.2. Shellsort (2)
- -1.6.1.3. Mergesort
- -1.6.1.4. .
- -1.6.1.5. Mergesort cost
- -1.6.1.6. Quicksort
- -1.6.1.7. Quicksort Partition
- -1.6.1.8. Quicksort Partition Cost
- -1.6.1.9. Quicksort Summary
- -1.6.1.10. Quicksort Worst Case
- -1.6.1.11. .
- -1.6.1.12. Quicksort Best Case
- -1.6.1.13. .
- -1.6.1.14. Quicksort Average Case
- -1.6.1.15. Optimizations for Quicksort
- -1.6.1.16. Heapsort
- -1.6.1.17. Heapsort Analysis
- -1.6.1. Faster Sorts
Chapter10: Heap Data Structure and HeapSort¶
Chapter11: Graph Data Structures and Algorithms¶
- -1.1. All-Pairs Shortest Paths
- -1.2. Graph Concepts Summary
- -1.3. Graph Implementations
- -1.4. Graph Traversals
- -1.5. Graphs Chapter Introduction
- -1.6. Kruskal’s Algorithm
- -1.7. Minimal Cost Spanning Trees
- -1.8. Shortest-Paths Problems
- -1.9. Topological Sort
- -1.10. Graphs
- -1.10.1. Graphs
- -1.10.1.1. Graphs
- -1.10.1.2. Paths, Cycles
- -1.10.1.3. Connected Components
- -1.10.1.4. Directed Graph Representation
- -1.10.1.5. Undirected Graph Representation
- -1.10.1.6. Representation Space Costs
- -1.10.1.7. Graph ADT
- -1.10.1.8. .
- -1.10.1.9. Visiting Neighbors
- -1.10.1.10. Graph Traversals
- -1.10.1.11. Graph Traversals (2)
- -1.10.1.12. Depth First Search (1)
- -1.10.1.13. Depth First Search (2)
- -1.10.1.14. Depth First Search (3)
- -1.10.1.15. Breadth First Search (1)
- -1.10.1.16. Breadth First Search (3)
- -1.10.1.17. Topological Sort
- -1.10.1.18. Depth-First Topological Sort (1)
- -1.10.1.19. Depth-First Topological Sort (2)
- -1.10.1.20. .
- -1.10.1.21. Queue-Based Topsort (1)
- -1.10.1.22. .
- -1.10.1.23. Queue-Based Topsort (2)
- -1.10.1.24. .
- -1.10.1.25. Shortest Paths Problems
- -1.10.1.26. Shortest Paths Definitions
- -1.10.1.27. Single-Source Shortest Paths
- -1.10.1.28. Dijkstra’s Algorithm Example
- -1.10.1.29. .
- -1.10.1.30. Dijkstra’s Implementation
- -1.10.1.31. Implementing minVertex
- -1.10.1.32. Approach 1
- -1.10.1.33. Approach 2
- -1.10.1.34. .
- -1.10.1.35. All-pairs Shortest Paths (1)
- -1.10.1.36. All-pairs Shortest Paths (2)
- -1.10.1.37. Floyd’s Algorithm
- -1.10.1.38. Minimal Cost Spanning Trees
- -1.10.1.39. MST Example
- -1.10.1.40. Prim’s MST Algorithm
- -1.10.1.41. .
- -1.10.1.42. Implementation 1
- -1.10.1.43. Alternate Implementation
- -1.10.1.44. Kruskal’s MST Algorithm (1)
- -1.10.1.45. Kruskal’s MST Algorithm (2)
- -1.10.1.46. .
- -1.10.1.47. Kruskal’s MST Algorithm (3)
- -1.10.1. Graphs
- -1.10. Graphs
- -1.10.1. Graphs
- -1.10.1.1. Graphs
- -1.10.1.2. Paths, Cycles
- -1.10.1.3. Connected Components
- -1.10.1.4. Directed Graph Representation
- -1.10.1.5. Undirected Graph Representation
- -1.10.1.6. Representation Space Costs
- -1.10.1.7. Graph ADT
- -1.10.1.8. .
- -1.10.1.9. Visiting Neighbors
- -1.10.1.10. Graph Traversals
- -1.10.1.11. Graph Traversals (2)
- -1.10.1.12. Depth First Search (1)
- -1.10.1.13. Depth First Search (2)
- -1.10.1.14. Depth First Search (3)
- -1.10.1.15. Breadth First Search (1)
- -1.10.1.16. Breadth First Search (3)
- -1.10.1.17. Topological Sort
- -1.10.1.18. Depth-First Topological Sort (1)
- -1.10.1.19. Depth-First Topological Sort (2)
- -1.10.1.20. .
- -1.10.1.21. Queue-Based Topsort (1)
- -1.10.1.22. .
- -1.10.1.23. Queue-Based Topsort (2)
- -1.10.1.24. .
- -1.10.1.25. Shortest Paths Problems
- -1.10.1.26. Shortest Paths Definitions
- -1.10.1.27. Single-Source Shortest Paths
- -1.10.1.28. Dijkstra’s Algorithm Example
- -1.10.1.29. .
- -1.10.1.30. Dijkstra’s Implementation
- -1.10.1.31. Implementing minVertex
- -1.10.1.32. Approach 1
- -1.10.1.33. Approach 2
- -1.10.1.34. .
- -1.10.1.35. All-pairs Shortest Paths (1)
- -1.10.1.36. All-pairs Shortest Paths (2)
- -1.10.1.37. Floyd’s Algorithm
- -1.10.1.38. Minimal Cost Spanning Trees
- -1.10.1.39. MST Example
- -1.10.1.40. Prim’s MST Algorithm
- -1.10.1.41. .
- -1.10.1.42. Implementation 1
- -1.10.1.43. Alternate Implementation
- -1.10.1.44. Kruskal’s MST Algorithm (1)
- -1.10.1.45. Kruskal’s MST Algorithm (2)
- -1.10.1.46. .
- -1.10.1.47. Kruskal’s MST Algorithm (3)
- -1.10.1. Graphs
Chapter12: Hash Tables¶
- -1.1. Analysis of Closed Hashing
- -1.2. Bucket Hashing
- -1.3. Collision Resolution
- -1.4. Deletion
- -1.5. Hash Function Principles
- -1.6. Hashing Chapter Summary Exercises
- -1.7. Improved Collision Resolution
- -1.8. Introduction
- -1.9. Open Hashing
- -1.10. Sample Hash Functions
- -1.11. Hashing
- -1.11.1. Hashing
- -1.11.1.1. Hashing (1)
- -1.11.1.2. Hashing (2)
- -1.11.1.3. Simple Examples
- -1.11.1.4. Collisions (1)
- -1.11.1.5. Collisions (2)
- -1.11.1.6. Hash Functions (1)
- -1.11.1.7. Hash Functions (2)
- -1.11.1.8. Simple Mod Function
- -1.11.1.9. Binning
- -1.11.1.10. Mod vs. Binning
- -1.11.1.11. Mid-Square Method
- -1.11.1.12. Strings Function: Character Adding
- -1.11.1.13. String Folding
- -1.11.1.14. Open Hashing
- -1.11.1.15. Bucket Hashing (1)
- -1.11.1.16. Bucket Hashing (2)
- -1.11.1.17. Closed Hashing
- -1.11.1.18. Collision Resolution
- -1.11.1.19. Insertion
- -1.11.1.20. Search
- -1.11.1.21. Probe Function
- -1.11.1.22. Linear Probing (1)
- -1.11.1.23. Linear Probing (2)
- -1.11.1.24. Problem with Linear Probing
- -1.11.1.25. Linear Probing by Steps (1)
- -1.11.1.26. Linear Probing by Steps (2)
- -1.11.1.27. Pseudo-Random Probing (1)
- -1.11.1.28. Pseudo-Random Probing (2)
- -1.11.1.29. Quadratic Probing
- -1.11.1.30. Double Hashing (1)
- -1.11.1.31. Double Hashing (2)
- -1.11.1.32. Analysis of Closed Hashing
- -1.11.1.33. Deletion
- -1.11.1.34. Tombstones (1)
- -1.11.1.35. Tombstones (2)
- -1.11.1. Hashing
- -1.11. Hashing
- -1.11.1. Hashing
- -1.11.1.1. Hashing (1)
- -1.11.1.2. Hashing (2)
- -1.11.1.3. Simple Examples
- -1.11.1.4. Collisions (1)
- -1.11.1.5. Collisions (2)
- -1.11.1.6. Hash Functions (1)
- -1.11.1.7. Hash Functions (2)
- -1.11.1.8. Simple Mod Function
- -1.11.1.9. Binning
- -1.11.1.10. Mod vs. Binning
- -1.11.1.11. Mid-Square Method
- -1.11.1.12. Strings Function: Character Adding
- -1.11.1.13. String Folding
- -1.11.1.14. Open Hashing
- -1.11.1.15. Bucket Hashing (1)
- -1.11.1.16. Bucket Hashing (2)
- -1.11.1.17. Closed Hashing
- -1.11.1.18. Collision Resolution
- -1.11.1.19. Insertion
- -1.11.1.20. Search
- -1.11.1.21. Probe Function
- -1.11.1.22. Linear Probing (1)
- -1.11.1.23. Linear Probing (2)
- -1.11.1.24. Problem with Linear Probing
- -1.11.1.25. Linear Probing by Steps (1)
- -1.11.1.26. Linear Probing by Steps (2)
- -1.11.1.27. Pseudo-Random Probing (1)
- -1.11.1.28. Pseudo-Random Probing (2)
- -1.11.1.29. Quadratic Probing
- -1.11.1.30. Double Hashing (1)
- -1.11.1.31. Double Hashing (2)
- -1.11.1.32. Analysis of Closed Hashing
- -1.11.1.33. Deletion
- -1.11.1.34. Tombstones (1)
- -1.11.1.35. Tombstones (2)
- -1.11.1. Hashing
- -1.12. Quick Hashing
