【发布时间】:2016-07-17 07:48:39
【问题描述】:
我一直在学习suffix arrays的创建,&我明白我们首先按照第一个字符对所有后缀进行排序,然后按照前2个字符,然后是前4个字符,依此类推,而要考虑的字符数较少大于 2n。
但我的疑问是我们为什么不选择前 3 个字符,然后选择 9...等等。为什么只考虑 2 个字符,因为这些字符串是相同字符串的一部分,而不是不同的随机字符串?
【问题讨论】:
-
这和二分查找除半而不是分成三部分是一样的。选择2是因为它更简单。就复杂性而言,两者是相同的。
标签: java algorithm suffix-array suffix