美文网首页
扩展Concurrent Trees支持基数树占位符查找

扩展Concurrent Trees支持基数树占位符查找

作者: NealLemon | 来源:发表于2023-07-30 11:43 被阅读0次

今天主要简单讲一下如何扩展开源高效查询JAVA项目 concurrent-trees 中 使用基数树进行通配符查找。

基数树精确插入和查找

想要扩展其查询方法 , 首先要先理解其基本方法的实现从而才能更好的进行扩展。因此我选择了基数树的精确字符字符串查找作为参考。

首先将项目Clone到本地后,我们先去查看其单元测试类以及对应方法。

然后再找到查找的核心方法进行debugger。只要足够细心和耐心就可以很快摸清其查找逻辑。

具体逻辑如图所示感兴趣的同学,可以自己通过运行单元测试类进行debugger。

结合上一篇文章的逻辑。我们先往基数树中插入三个字符串TEST,TEAM,TOAST 。 他们的数据结构如图所示

当我们调用方法查找字符串TEST 时(getValueForExactKey("TEST")) 具体查找逻辑如图

了解到了 如何精确匹配,那么我们再来看如何插入到基数树中。

剩下的字符串插入的代码逻辑如上图数据结构演变一样 ,我就不过多赘述,感兴趣的同学可以研究一下源码。

基于基数树精确插入和查找扩展通配符查找

查找

熟悉了基数树的精确查找,那我们来扩展一下通配符的查找方法。

首先在源码中加入通配符查找方法签名:

然后我们进行通配符查找的具体方法实现:

同理插入的时候 对应的逻辑该文章一致, 大家有兴趣可以自己去钻研一下 。

代码位置入口为:

小结

虽然是基于已有项目的扩展, 但是在扩展源码的过程中,自己也很有收获,这里只是抛砖引玉,我的实现就是最简单粗暴的,如果有算法大神的话 希望能给提供一些更快更高效的查询算法。

代码地址:
https://github.com/NealLemon/concurrent-trees/tree/develop

相关文章

  • 九个Console命令,让 JS 调试更简单

    一、显示信息的命令 二、占位符 console上述的集中度支持printf的占位符格式,支持的占位符有:字符(%s...

  • apollo 0.10.2

    1 spring 占位符支持热更新 @value占位符热更新 2 支持新注解@ApolloJsonValue 使用...

  • 莹莹

    占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符...

  • 莹莹

    占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符...

  • 及时止损哪有那么容易

    占位符占位符占位符占位符占位符占位符占位符占位符占位符占位符 晚上清理微博时,发现了我以前发的微博 心情如同标题 ...

  • 前端实用的调试命令console使用

    一、显示信息的命令 最常用的就是console.log了。 二:占位符 console支持printf的占位符格式...

  • golang fmt

    占位符 普通占位符 布尔占位符 整数占位符 指针 其它标记

  • 总结console的几种用法

    输出信息分类 不止于console.log() 扩展一下,输出信息的一般有如下四个 你可以添加占位符,支持字符(%...

  • 字符串常用指令

    常见的占位符: 查找: 统计: 分隔: 判断: 大小写: 裁剪: 对齐: 合并: 编码解码:

  • js占位符

    console.log方法支持以下占位符,不同类型的数据必须使用对应的占位符。 %s字符串 %d整数 %i整数 %...

网友评论

      本文标题:扩展Concurrent Trees支持基数树占位符查找

      本文链接:https://www.haomeiwen.com/subject/lofsedtx.html