Skip to content

Special Trees

Advanced tree data structures — each now has its own detailed page with implementations, Mermaid diagrams, and practice problems.


Each special tree is now explained in depth on its own page:

TreeDedicated PageKey OperationTimeUse Case
TrieTrie (Prefix Tree) →Search stringO(L)Autocomplete, spell check
HeapPriority Queue & Heap →Get min/maxO(1) peekPriority queue, Dijkstra
Segment TreeSegment Tree →Range queryO(log N)Range sums, min, max
Fenwick TreeFenwick Tree (BIT) →Prefix sumO(log N)Range sums, counting
AVL TreeAVL Tree →Self-balancingO(log N)Balanced BST
Red-Black TreeRed-Black Tree →Self-balancingO(log N)TreeMap, std::map

TreeStructureKey OperationTimeUse Case
TrieN-ary tree per charSearch stringO(L)Autocomplete
HeapComplete binary treeGet min/maxO(1) peekPriority queue
Segment TreeBinary tree on rangesRange queryO(log N)Range sums/min
Fenwick TreeBinary indexedPrefix sumO(log N)Prefix sums
AVL TreeSelf-balancing BSTSearch / InsertO(log N)Balanced BST
Red-BlackSelf-balancing BSTSearch / InsertO(log N)TreeMap, std::map