在算法课程中,我曾经做过一个练习,其中必须稍微扩展Rabin-
Karp字符串搜索算法,以您描述的方式搜索匹配的二维子矩阵。
我认为,如果您花时间了解Wikipedia上描述的算法,那么将其扩展为二维的自然方法将很清楚。本质上,您只需对矩阵进行几次遍历,一次沿一列爬行。有一些小技巧可以将时间复杂度保持在尽可能低的水平,但是您甚至可能根本不需要它们。
在N×N矩阵中搜索M×M矩阵,此方法应为您提供O(N²⋅M)算法。通过技巧,我相信可以将其精炼为O(N²)。

在算法课程中,我曾经做过一个练习,其中必须稍微扩展Rabin-
Karp字符串搜索算法,以您描述的方式搜索匹配的二维子矩阵。
我认为,如果您花时间了解Wikipedia上描述的算法,那么将其扩展为二维的自然方法将很清楚。本质上,您只需对矩阵进行几次遍历,一次沿一列爬行。有一些小技巧可以将时间复杂度保持在尽可能低的水平,但是您甚至可能根本不需要它们。
在N×N矩阵中搜索M×M矩阵,此方法应为您提供O(N²⋅M)算法。通过技巧,我相信可以将其精炼为O(N²)。