【问题标题】:Applications of van Emde Boas trees?van Emde Boas 树的应用?
【发布时间】:2011-12-17 15:48:33
【问题描述】:

除了作为整数的快速优先级队列之外,van Emde Boas trees 还有其他应用吗?

【问题讨论】:

    标签: language-agnostic data-structures van-emde-boas-trees


    【解决方案1】:

    只要搜索树中的键是某个固定范围内的整数,就可以在任何地方使用 van Emde Boas 树来代替普通的二叉搜索树。因此,对于需要能够在集合中找到最接近其他整数的整数的应用程序,使用 vEB-tree 可能比使用简单的平衡二叉搜索树更快。例如,您在某条线上有一个线性布局的商店,并且想要找到离某个特定客户最近的商店,使用 vEB-tree 可以使搜索速度比(已经很快的)BST 快得多。

    希望这会有所帮助!

    【讨论】:

    • 固定范围应该有多“固定”?我的意思是,如果它可以是任何范围,那么没有必要提及它,对吧?
    • @Cupidvogel van Emde Boas 树需要在了解范围大小上限的情况下构建。该大小没有上限,但一旦选择,它就是固定的。
    • @Cupidvogel 取决于您的实现允许占用多少空间。来自维基百科:“对于小树,与 vEB 树相关的开销是巨大的:大约为 sqrt(M)。这是它们在实践中不受欢迎的原因之一。解决此限制的一种方法是仅使用固定数字每层的比特数,这会导致一个 trie。或者,每个表可以被一个哈希表替换,将空间减少到 O(n)(其中 n 是存储在数据结构中的元素的数量),但代价是数据结构随机化。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 2023-03-24
    • 1970-01-01
    • 2011-04-23
    • 2022-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多