Van Emde Boas tree
| van Emde Boas tree | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Type | Non-binary tree | |||||||||||||||||||||||
| Invented | 1975 | |||||||||||||||||||||||
| Invented by | Peter van Emde Boas | |||||||||||||||||||||||
| ||||||||||||||||||||||||
A van Emde Boas tree (Dutch pronunciation: [vɑn ˈɛmdə ˈboːɑs]), also known as a vEB tree or van Emde Boas priority queue, is a tree data structure which implements an associative array with m-bit integer keys. It was invented by a team led by Dutch computer scientist Peter van Emde Boas in 1975. It performs all operations in O(log m) time (assuming that an bit operation can be performed in constant time), or equivalently in time, where is the largest element that can be stored in the tree. The parameter is not to be confused with the actual number of elements stored in the tree, by which the performance of other tree data-structures is often measured.
The standard vEB tree has an unideal space efficiency of . For example, for storing 32-bit integers (i.e., when ), it requires bits of storage. To resolve this, vEB trees can be modified to achieve space, or similar data structures with equivalent asymptotic time efficiency and space efficiency of (where is the number of stored elements) can be used.