我正在寻找一种高效的 n 阶马尔可夫链方法,以在给定一组示例文本的情况下生成随机文本字符串。我目前有一个使用多层 map 的 Java 实现,但它很笨重。后缀数组非常适合我的需求,但我不清楚是否可以在 Java 中有效地实现它。
在 C 中我可能会做类似的事情:
char exampleText[MAX];
char *suffixArray[MAX];
...
while(n<MAX && suffixArray[n++] = &exampleText[n]);
sort(suffixArray);
这在 Java 中变得棘手,因为我必须采用 exampleText
的子字符串,或将 suffixArray
转换为索引数组或其他内容。
对于在 Java 中解决这个问题的好方法有什么建议吗?
最佳答案
String
会 [通常] 为您做这件事。 (典型的实现在使用 substring
创建时共享支持数组,尽管这可能随时更改。)
关于java - 后缀数组在Java中的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3349861/