【问题标题】:What data structure to use to have O(log n) key AND value lookup?使用什么数据结构进行 O(log n) 键和值查找?
【发布时间】:2015-06-04 02:27:23
【问题描述】:

拥有一个排序的字典(哈希表、映射或任何键/值结构),您可以轻松地进行二分搜索来查找项目。如果我们假设键是唯一的,但值可以重复,我们可以使用什么数据结构来检索键的 O(log n) 以及 O(log n) 查询来查找给定数据中values=something 的计数?

【问题讨论】:

    标签: data-structures big-o key-value binary-search


    【解决方案1】:

    两个二叉搜索树,一个用于键,第二个用于值,具有相互指针将提供所需的功能。指针从键到值可以是多对一的,从值到键是一对多的。

    【讨论】:

    • 想法相同,但保持两棵树同步不是很棘手吗?
    • 这取决于你想要实现什么样的操作。例如,按值删除可能有点棘手,但并非不可能(您还需要定义它应该如何工作,因为值不是唯一的)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 2011-08-26
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多