YSC2229: Introductory Data Structures and Algorithms
  • 1. Software Prerequisites
  • 2. OCaml Style Guide
  • 3. Policies
  • 4. Midterm Project: Memory Allocation and Reclamation
  • 5. Final Project: Vroomba Programming
  • 1. Chapter 01: Introduction
  • 2. Chapter 02: Working with Arrays
  • 3. Chapter 03: Complexity of Algorithms and Order Notation
  • 4. Chapter 04: Divide-and-Conquer Algorithms
  • 5. Chapter 05: Binary Heaps and Priority Queues
  • 6. Chapter 06: Abstract Data Types
    • 6.1. Equivalence Classes and Union-Find
    • 6.2. Information Hiding and Abstraction
    • 6.3. Stacks
    • 6.4. Queues
    • 6.5. Exercises
  • 7. Chapter 07: Hashing-Based Data Structures
  • 8. Chapter 08: Searching in Strings
  • 9. Chapter 09: Backtracking and Dynamic Programming
  • 10. Chapter 10: Data Encoding and Compression
  • 11. Chapter 11: Binary Search Trees
  • 12. Chapter 12: Graph Algorithms
  • 13. Chapter 13: Elements of Computational Geometry
YSC2229: Introductory Data Structures and Algorithms
  • »
  • 6. Chapter 06: Abstract Data Types

6. Chapter 06: Abstract Data Types

  • 6.1. Equivalence Classes and Union-Find
    • 6.1.1. Union-Find Structure
    • 6.1.2. Working with Sets via Union-Find
    • 6.1.3. Testing Union-Find
  • 6.2. Information Hiding and Abstraction
  • 6.3. Stacks
    • 6.3.1. The Stack interface
    • 6.3.2. An List-Based Stack
    • 6.3.3. An Array-Based Stack
  • 6.4. Queues
    • 6.4.1. The Queue interface
    • 6.4.2. An Array-Based Queue
    • 6.4.3. Debugging queue implementations
    • 6.4.4. Doubly Linked Lists
    • 6.4.5. A queue based on doubly linked lists
  • 6.5. Exercises
    • 6.5.1. Exercise 1
    • 6.5.2. Exercise 2
Previous Next

© Copyright 2021, Ilya Sergey.

Built with Sphinx using a theme provided by Read the Docs.