Burada ne yapıldığını anladığımı düşünüyorum, bu yüzden anlamaya çalışacağım.
"Wort" satırı, analiz ettiğiniz kalıptır, (bence) yukarıdaki "Metin" satırını dikkate almanıza gerek yoktur. Bunun yerine, deseninizdeki karakterin sıfır tabanlı konumunu soldan sağa doğru içeren ek bir satır varsayalım. tasvir desen p[]
uzunluğu m
9. i 2 dayanmaktadır sağ
ayrıntılı açıklama üzerine endeksidir Her satır Ben p_i[]
isim aşağıdaki gibidir:
desen işaretinin altına alt satırlarda Yukarıdaki modeldeki karakterle eşleşen tüm karakterler.
for i=1 to m do
search in the rows below for a subpattern where p[m-i]<>p_j[m-1] (*)
and p[m-i+1, ..., m-1]=p_j[m-i+1, ..., m-1]
index j is your shift value for shift[i]
od
(*) Not (dışarı geçerek burada Done): kaymıştır desen p_j
çok uzakta sağ kaymıştır girdiğimde, karşılaştırma boş karakter olacaktır. Bu durumda, gerektiğinde her zaman ==
veya <>
olduğunu varsayabilirsiniz. Her zaman mümkün olan en az j
kullanın.
ben bu geç, gerçi biraz yardımcı olur.
Sorunuzun arkasında daha fazla bilgi verebilir misiniz? Daha spesifik olarak, [ne denediniz?] (Http://whathaveyoutried.com) ve bu örnekte aranan metni biliyor musunuz? –
no örnekte aranan metin verilmiyor. Görev, anabanana kelimesi için bu yöntemi kullanarak kaydırılabilir hesaplamaktır. Gönderdiğim resim çözüm önerisidir. Vardiya tablosunu hesaplamak için başka basit bir yöntem varsa bunu da kullanırdım. Yani benim sorum: "Bu basit bir yöntemle bir bilgisayar kullanmadan boyer ve moore ile kullanım için kaydırılabilir hesaplamak nasıl" thx –
Bu örnek bulundu? Bana bir link ver ve belki sana yardım edebilirim. – Sayakiss