我应该使用什么样的数据结构来存储包含C字符串数组的结构?
某些结构需要易于访问,查找时间可能很短。 我一直在考虑哈希表但事实证明它毕竟不那么有效。
我需要存储从文本文件中读取的n-gram单词,n = 1,2,....
例如3-gram:"我需要帮助" {" I" ,"需要"}是前缀和"帮助"是后缀。
struct data {
char **prefix;
char **suffix;
int *occurrence;
};
前缀和可能在该前缀后出现次数的后缀应存储在这些结构中,因此我需要非常方便的访问。
然后我必须绘制一个初始前缀,并以一定的概率(根据出现次数)随机选择后缀,然后查找新获得的前缀,依此类推,直到我得到适当长度的文本。
这将是基于马尔可夫链的文本生成器。