Augmented Data Structures — Order Statistics & Interval Trees | Chapter 17 of Introduction to Algorithms
Augmented Data Structures — Order Statistics & Interval Trees | Chapter 17 of introduction to algorithms
Augmented data structures enhance classic data structures by adding extra information, enabling more advanced operations while maintaining efficient asymptotic performance. Chapter 17 of introduction to algorithms explores how to augment red-black trees to implement order-statistic trees and interval trees, providing powerful new capabilities such as O(log n) rank and overlap queries.

Watch the full chapter summary below for a detailed walkthrough of order-statistic and interval trees. Subscribe to Last Minute Lecture for more introduction to algorithms tutorials!
Order Statistic Trees
Order-statistic trees augment red-black trees with a size
attribute at each node, representing the number of nodes in the subtree rooted at that node. This allows for efficient O(log n) queries to select the ith smallest element (OS-SELECT) and compute the rank of any node (OS-RANK). The size attributes are updated during insertions, deletions, and rotations, all while preserving O(log n) performance for updates and queries. This structure is a classic example of how careful augmentation leads to more powerful data structures without sacrificing efficiency.
General Steps for Data Structure Augmentation
- Choose a base structure (e.g., red-black tree)
- Decide what extra information to maintain (e.g., size, max endpoint)
- Ensure basic operations can efficiently update the new info
- Develop new operations leveraging the augmentation
Theorem 17.1 formalizes that if the augmented attribute depends only on a node and its children, and is computable in O(1) time, the efficiency of the underlying data structure is preserved.
Interval Trees
Interval trees are another augmentation of red-black trees, designed to store and efficiently query intervals [low, high]. Each node stores an interval, and an additional max
attribute records the highest endpoint among all intervals in the subtree. The key operations include:
- INTERVAL-SEARCH: Returns a node whose interval overlaps a query interval, or NIL if none exists (O(log n) time).
- During insertion, deletion, and rotations,
max
attributes are updated in O(1) per operation, ensuring the structure remains efficient.
Glossary of Key Terms
- Augmented Data Structure: Structure with extra fields for new capabilities
- Order Statistic Tree: Red-black tree tracking subtree sizes for selection and ranking
- Interval Tree: Red-black tree storing intervals and max endpoints for overlap queries
- OS-SELECT: Finds ith smallest element in O(log n)
- OS-RANK: Returns rank of a node in O(log n)
- INTERVAL-SEARCH: Searches for overlapping intervals in O(log n)
- x.size: Number of nodes in subtree rooted at x
- x.max: Maximum high endpoint in x’s subtree
- Interval Trichotomy: Any two intervals: overlap, one ends before the other begins, or vice versa
Conclusion: Extending the Power of Trees
Augmented data structures enable algorithms to answer more complex queries efficiently by carefully adding and maintaining new information during updates. Order-statistic and interval trees are just two powerful examples—mastering these concepts will let you design custom structures for a wide range of advanced applications. For more in-depth algorithm tutorials and data structure guides, subscribe to Last Minute Lecture and check out the full introduction to algorithms series!
Comments
Post a Comment