Open MountainHolder opened 5 years ago
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?
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
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?