NISHIO Hirokazu[Translate]
SA-IS法
素朴に実装するとO(N^2\log N)接尾辞配列O(N)で作る方法

接尾辞配列とは
python
data = "abracadabra$" buf = [] for i in range(len(data)): buf.append((data[i:], i)) buf.sort() for x in buf: print(x)
接尾辞配列ができると特定のキーワードの出現場所を二分探索で効率よく発見できる
先頭文字に対するバケットソートを使う

難しい

噛み砕いた解説

わかりやすい?解説

"Engineer's way of creating knowledge" the English version of my book is now available on [Engineer's way of creating knowledge]

(C)NISHIO Hirokazu / Converted from [Scrapbox] at [Edit]