这种通过“存储桶”查找元素的集合/算法的名称是什么

时间:2019-11-20 16:38:05

标签: java

此集合在逻辑上作为映射起作用,但允许按其前缀查找元素。它由嵌套的Maps组成,其中每个嵌套的映射对应于与键的下一个标记匹配的元素。

例如:

让我们以bar作为映射键。 让我们将bar int“子键”标记为:bar。然后我们将使用以下方法(伪代码)放入value

  1. 从根映射Map<String,Value or Map>中获取b,如果不存在,则放置新的Map<String,Value or Map
  2. 从上一步的地图中获取a,如果不存在,请放置新的Map<String,Value or Map>
  3. 在上一步的地图中,在键r下设置或替换值

检索类似(伪代码)

  1. 从根地图中提取b
  2. 从上一个存储桶中取出a个存储桶
  3. 从前一个存储桶中的r中取值r

这样的集合如何称呼?我将其称为GraphMap或BucketGraph。但是专有名称是什么?

2 个答案:

答案 0 :(得分:4)

您所描述的内容听起来很像Trie, or Prefix Tree。它可用于根据单词的单个字符,句子中的单词或其他类型的“后继分解”将字符串或其他对象分类为存储桶(不确定 是否正确)学期...)。

答案 1 :(得分:2)

您很有可能搜索Trie,也称为Prefix or Digital Tree。第一个链接会将您重定向到Apache Commons库,该库实现了这种树。