使用部分密钥进行多键映射搜索/过滤

时间:2014-07-14 13:08:58

标签: algorithm data-structures

我的问题类似于Data structure for partial multi-keys mapping?

我有键值对,其中键由三个组件(字符串)组成。

我正在寻找一种能够有效地通过密钥执行搜索查询的数据结构,其中查询可以是完整的或部分地指定密钥(省略一个或多个组件)。例如:

(x, y, z)
(x, *, *)
(*, y, *)
etc.

密钥的未指定部分可以位于密钥的前面,中间或末尾。

我的当前实现(将所有可能的部分键映射到一组与此部分键匹配的值的哈希映射)在插入,删除和更新值时非常慢。

1 个答案:

答案 0 :(得分:3)

  

我当前的实现(一个哈希映射,映射所有可能的部分   与此部分键匹配的列表键的键非常慢   插入,删除和更新值时。

如果您实际使用的是列表,那么这几乎肯定是问题,因为删除/更新/插入速度很慢也可能是一个问题,具体取决于您的操作方式。最好使用集合(无序)或平衡二叉搜索树(有序)。