如何解决我应该如何序列化包含每个节点中的字符串队列的特里
我使用 8 路特里树在 C++ 中构建了一个 t9 键盘,其中每个节点看起来像 :-
const int R=8;
class node
{
queue<string> words;
node* keys[R];
public:
node()
{
for(int i=0;i<R;keys[i++]=NULL);
}
queue<string> getWords() { return words; }
void addWord(string w) { words.push(w); }
void addKeys(node* k,int p) { keys[p]=k; }
node* getKey(int p) { return keys[p]; }
}*root=NULL;
队列用于存储像“fog”和“dog”这样的词,因为它们都有相同的键盘输入“1-4-2”。
现在我使用的字典只有大约 60,000 个单词,所以每次程序启动时我都会初始化 trie。但是,如果有更多的话,加载时间和内存使用量会大大增加。所以,我遇到了序列化和反序列化方法。 但我不知道如何处理每个节点中存在的字符串队列。
也欢迎任何其他稍微改变数据结构的建议。 谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。