Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 从大型数据集中查找相似数据模式的有效方法_Algorithm_Large Data - Fatal编程技术网

Algorithm 从大型数据集中查找相似数据模式的有效方法

Algorithm 从大型数据集中查找相似数据模式的有效方法,algorithm,large-data,Algorithm,Large Data,我在数据库中有数百万条记录的大型数据集,简化示例如下: 6,1,3,5,2,3,4,5,6,7,9,3,1,3,5,4,6,3,4,6,4,5,7,4,5,0,8,... 百万唱片 这里每个数字代表一行的键值 我需要找到所有出现的1,3,5。直接的方法是迭代整个数据集,并在每次迭代中检查三个连续的行 有没有更有效的算法来实现这一点?如果只需要找到3个元素的子序列,最有效的方法是迭代整个数据 很容易证明:您必须检查整个阵列的所有插入算法 在这个算法中,最多执行3次。这是您可以获得的最佳复杂性。对于

我在数据库中有数百万条记录的大型数据集,简化示例如下: 6,1,3,5,2,3,4,5,6,7,9,3,1,3,5,4,6,3,4,6,4,5,7,4,5,0,8,... 百万唱片 这里每个数字代表一行的键值

我需要找到所有出现的1,3,5。直接的方法是迭代整个数据集,并在每次迭代中检查三个连续的行


有没有更有效的算法来实现这一点?

如果只需要找到3个元素的子序列,最有效的方法是迭代整个数据

很容易证明:您必须检查整个阵列的所有插入算法


在这个算法中,最多执行3次。这是您可以获得的最佳复杂性。

对于较大的搜索字符串,KMP可能会提高搜索性能。我不确定这是否适用于三个要素。如果多次搜索相同或类似的数据库,则可以保存以前搜索的结果。在未排序的集合中查找某个对象的所有匹配项时,ON是您所能得到的最好结果。每次迭代意味着什么?数据库中应该只有一次迭代。