我有一個非常大的n*m
矩陣S
。我想要有效地確定在S
內是否存在子文件F
。大矩陣S
的尺寸可以大到500*500
。在大矩陣中找到矩陣
爲了澄清,考慮以下幾點:
S = 1 2 3
4 5 6
7 8 9
F1 = 2 3
5 6
F2 = 1 2
4 6
在這種情況下:
F1
是內部S
F2
不是內部S
中的每個元素矩陣是一個整數32-bit
。我只能想到使用暴力方法來查找F
是否是S
的子矩陣。我搜索了一個有效的算法,但我找不到任何東西。
有沒有一些算法或原理來做得更快? (也可能是一些方法來優化蠻力的方法嗎?)
PS統計數據
A total of 8 S
On average, each S will be matched against about 44 F.
The probability of success match (i.e. F appears in a S) is
19%.
在你的榜樣,會矩陣[1,3; 7,9](也就是角落)被認爲是在S內部? –
不,它必須被收集在矩陣中 –
矩陣應該連續並聚集。 –