PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Grad-ProbAsk
[理工] 演算法String_matching
作者:
joy7658x348
(joy7658x348)
2019-07-05 11:42:31
大家好:
想請問一個找字串比對的問題
例如:
字串: ABCDCBA
我要找 BC
但同時BC也等於CB
也就是找BC出來的結果不會=1,而是=2 (BC and CB)
我想到的方式是先找BC的全排列,也就是BC跟CB兩種 O(n!)
之後再用KMP去分別找BC跟CB O(m+n)
這樣就會是1+1=2,就能找到2組
請問這樣的想法是不是會比較慢,還是有辦法能夠就一次找出兩種組合?
謝謝大家
作者:
mathtsai
(mathtsai)
2019-07-05 13:47:00
可以先詳細敘述你的問題嗎
作者:
Aa841018
(andrew)
2019-07-05 14:19:00
以你的例子來說,只要在scan時判斷遇到非B and C時跳過繼續掃,然後除此之外一律+1,累計到1時之後只要沒有出現BC以外的字母,都可算是match,因為含有BC的所有組合都算是目標!然後碰到BC以外的字母你再重新計算…這樣應該…快一點吧?
繼續閱讀
[理工] 離散 排容
shinle14
[理工] 演算法187(106台大)!
Aa841018
線代 4-126 範例三
houallan5478
[理工] 線代 內積空間
shinle14
[理工] 資料結構p35第5題
david95525
[理工] 線代8-59_範例3
fmtshk
Re: 線代3-30
Honor1984
線代3-30
zxc2179vbnm
離散 遞迴 排組
Yueh711
離散 關於循環群
AdonisLam
Links
booklink
Contact Us: admin [ a t ] ucptt.com