IntervalTree<T> constructor

IntervalTree<T>(
  1. Iterable<IntervalEntry<T>> entries
)

Builds a balanced tree from entries (any order). Construction is O(n log n) to sort; queries are then O(log n + k). Audited: 2026-06-12 11:26 EDT

Implementation

IntervalTree(Iterable<IntervalEntry<T>> entries) {
  final List<IntervalEntry<T>> sorted = entries.toList()
    ..sort((IntervalEntry<T> a, IntervalEntry<T> b) => a.low.compareTo(b.low));
  _size = sorted.length;
  _root = _build(sorted, 0, sorted.length - 1);
}