AhoCorasickDoubleArrayTrie icon indicating copy to clipboard operation
AhoCorasickDoubleArrayTrie copied to clipboard

some confusion about about the double array

Open MountainHolder opened this issue 6 years ago • 1 comments

As I know the double array can be simplified as follows: base[r] + c = s check[s] = r but in you code it is implement like this: base[r] + c = s check[s] = base[r] the corespondding code is check[begin + sibling.getKey()] = begin; is it right?

MountainHolder avatar Nov 06 '19 09:11 MountainHolder

It's a variant. As long as you use the same formula in both building and searching phases, it is right.

https://github.com/hankcs/pyhanlp/blob/49202d2210d97b075e35c90aa20b9cbe3b31f413/tests/book/ch02/dat.py#L32

hankcs avatar Nov 06 '19 15:11 hankcs