I can do it in O(N) time. but can it be more faster?
| # | User | Rating |
|---|---|---|
| 1 | Benq | 3792 |
| 2 | VivaciousAubergine | 3647 |
| 3 | Kevin114514 | 3611 |
| 4 | jiangly | 3583 |
| 5 | strapple | 3515 |
| 6 | tourist | 3470 |
| 7 | dXqwq | 3436 |
| 8 | Radewoosh | 3415 |
| 9 | Otomachi_Una | 3413 |
| 10 | Um_nik | 3376 |
| # | User | Contrib. |
|---|---|---|
| 1 | Qingyu | 163 |
| 2 | adamant | 149 |
| 3 | Um_nik | 145 |
| 4 | Dominater069 | 143 |
| 5 | errorgorn | 141 |
| 6 | cry | 138 |
| 7 | Proof_by_QED | 135 |
| 7 | YuukiS | 135 |
| 9 | chromate00 | 134 |
| 10 | soullless | 132 |
I can do it in O(N) time. but can it be more faster?
Knuth–Morris–Pratt(KMP) algorithm এর searching approach, নরমাল naive approach এর থেকে আলাদা।
Time Complixity: Naive approach O(m*n) KMP এর O(m+n)
স্বাভাবিক ভাবেই KMP algo ভাল ।
একটা জিনিষ ভোগাচ্ছিল, C++ এর string searching কি naive approach ব্যাবহার করে,নাকি KMP অথবা আরো ভাল কোন algo ব্যাবহার করে? শেষে পেলাম, "In essence if you're just looking for a substring, there is no reason to implement something like KMP because the library version will be roughly as fast as yours."
লিঙ্ক: http://old.blog.phusion.nl/…/06/efficient-substring-search…/
বুজলাম যে,string টা খুব একটা বড় না হলে , সাধারণ C++:string:find() ব্যাবহার করাই ভাল।তবে Time Complexity এর খেলা শুরু হলে naive approach আর কার্যকরী নয়, KMP এর মত algo লাগবেই।
https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm
| Name |
|---|


