使用什么数据结构来进行 O(log n) 键和值查找?

What data structure to use to have O(log n) key AND value lookup?

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

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