What prevents Van Emde Boas trees from being more popular in real-world applications?

后端 未结 2 1272
北海茫月
北海茫月 2021-01-31 03:02

We know balanced trees perform insertion, deletion, and search in O(log n)-time, examples include

  • Red-Black
  • AVL
  • Splay
  • B-tree (a
2条回答
  •  春和景丽
    2021-01-31 03:28

    One of the reason is that complexity is defined not on the size of the set you store but on the size of the universe of values. Another difference is that keys can't be arbitrary types for which you have comparison operation but must be integers. You should not see vEB as an alternative for BST but rather as an alternative for arrays. An array have O(1) store and look up costs for object keyed by integers. vEB offer O(log log M), where M is size of the universe of your values. Now, you see vEB is not better than regular array for look ups and store but it offers O(1) min, max operations and O(log log M) prev next key operations which array does not. It's worth to mention that the layout of vEB trees has a properties which make possible to create cache oblivious trees which are far more interesting developments of modern CS.

    http://erikdemaine.org/papers/BRICS2002/paper.pdf

提交回复
热议问题