Concepts7

πŸ—‚οΈData StructureAdvanced

Wavelet Tree

A wavelet tree is a recursive data structure built over a sequence’s alphabet that answers rank, select, and quantile (k-th smallest) queries in O(log Οƒ) time, where Οƒ is the number of distinct values.

#wavelet tree#wavelet matrix#rank select+11
πŸ—‚οΈData StructureAdvanced

Persistent Array and Treap

Persistence lets you keep every past version of a data structure while making O(log n) updates and queries on any version.

#persistent array#persistent segment tree#treap+12
πŸ—‚οΈData StructureAdvanced

Splay Tree

A splay tree is a self-adjusting binary search tree that moves the most recently accessed node to the root with rotations.

#splay tree#self-adjusting bst#zig+12
πŸ—‚οΈData StructureAdvanced

Implicit Treap

An implicit treap is a randomized balanced binary tree that treats array positions as keys without storing them explicitly.

#implicit treap#treap#split and merge+11
πŸ—‚οΈData StructureAdvanced

Persistent Segment Tree

A persistent segment tree stores every historical version of an array-like data while supporting queries and updates in O(log n) time.

#persistent segment tree#path copying#kth smallest+12
πŸ—‚οΈData StructureAdvanced

Treap

A treap is a binary search tree on keys combined with a heap on random priorities, which keeps the tree balanced in expectation.

#treap#randomized bst#fhq treap+12
πŸ—‚οΈData StructureAdvanced

Dynamic Segment Tree

A dynamic segment tree stores values over a huge coordinate range by creating nodes only when an operation touches their interval.

#dynamic segment tree#sparse segment tree#lazy propagation+12