An Interval Tree is a data structure for storing intervals and efficiently finding all intervals that overlap with any given interval or point.
Insertion: Add a new interval to the tree while maintaining the interval tree properties. Each node stores an interval [low, high] and the maximum high value in its subtree.
Query: Find all intervals that overlap with a given point or interval. The query operation efficiently checks only the necessary parts of the tree.
Applications: Used in computational geometry, scheduling, and collision detection algorithms.