高效的逐字节数据搜索查询算法?

时间:2018-09-28 16:47:20

标签: c# algorithm performance search complexity-theory

我需要为给定的十六进制值搜索可能非常大的字节数据结构(最大4GB)。问题是十六进制值的字符串输入可以是任何大小,包括奇数,例如“ ABC”。而不是将字节数据转换为字符串数据并执行字符串搜索(我已经完成了FWIW),我想知道一种性能可能更好的算法,该算法本质上逐字节地搜索。

鉴于数据源的大小,搜索当然可以分段进行。理想情况下,输出是匹配项的起始索引或地址的枚举。出于这个问题的目的,我们假设数据结构是byte[],输出是int索引和半字节偏移量(例如bool firstNibbleMatch)。

在进行尝试之前,对配置文件,移位操作与ascii转换的成本(whether via C# library or roll-you-own unsafe code等)有任何想法吗?我主要关心的是性能。从理论上讲这种方法会更好吗?

0 个答案:

没有答案