をSTRSTRに似efficentバージョンは一般的な実装ここ
int stridx (char[] src, char[] str){
int i,j,k;
for(i=0;i < (src.len - str.len);i++){
for(j=i,k=0; str[k] != '\0' && str[k] == src[i]; j++,k++);
if(k> 0 && str[k]=='\0') return i;
}
return -1;
}
である我々はaaaaaaaaaaaaaaaaaaaaaaaa(SRCとstrの両方が非常に長いと仮定すると、長さを持っている場合は、アルゴリズムの最悪のケースでは、^ 2のnかもしれませんそれらの非常に近いです)。
もっと良いアルゴリズムはありますか?
これは 'O(n^2)'ではなく 'O(nk)'です。あなたの条件は 'i <= src.len-str.len'である必要があります。しかし、あなたの質問は何ですか? –
あなたの質問は何ですか? – bdonlan