algorithm - 如何实现在一组固定长度的字节数组中搜索前缀的有效方法?

标签 algorithm search go bytearray

我有一大组固定长度的字节数组,例如:

type Fixed [64]byte

set := make([]Fixed, 10240)

大多数条目都有不同的 5-7 字节前缀。 我如何实现根据给定前缀查找 set 元素的有效方法?例如:

set.Find([7]byte{ /*...*/ }) == /* no hit || single hit || multiple hit */

最佳答案

看起来你需要一个 trie .

您可以将您的集合存储为一个 trie 树并给定一个前缀,您可以一直向下到达一个节点。然后,您只需遍历以该节点为根的子树即可获取所有项。

关于algorithm - 如何实现在一组固定长度的字节数组中搜索前缀的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16763678/

相关文章:

google-app-engine - 有没有办法使用第二代本地应用程序引擎 (dev_appserver.py) 成功调用 FindDefaultCredentials?

arrays - 给定 n,生成大小小于 0.5n 的所有排列

algorithm - 在 VBA 中无故跳过循环

java - 如何从数组中的 search() 方法返回单个打印语句?

linux - 使用 cscope 搜索字符串集

http.ResponseWriter 不设置标题内容类型

go - 为什么一个空 slice 有 24 个字节?

algorithm - 确定 k 最近邻的最佳 k

algorithm - 随机搜索算法的复杂性

search - 如何在 Visual Studio Code 中搜索特定文件名?