这个问题与语言无关,更多的是了解如何实现trie,或者尝试是否适合我的程序假设。 假设我有一串这样的文字。
string= "a tale about an ant and an android";
“a”的相应trie看起来像这样
a(7)
/ \
b(1) n(4)
/ / \
o(1) t(1) d(2)
/ \
u(1) r(1)
/ \
t(1) o(1)
\
i(1)
\
d(1)
我希望找到每个单词的出现次数。尽管“a”在文本中出现了6次,但只有一个实例用作单词。同样的规则适用于“an”& “和”
我希望我的最终频率计数器看起来像这样:
a:发生1次而不是7次 an:2 并且:1 等等..
我怎样才能记录完整单词的数量?
我正在使用php尝试处理大量文本并访问this question并且它不是我想要的。性能很重要,但内存效率更优选,因为我解析说万亿字。谢谢,我感谢您的意见。
答案 0 :(得分:0)
我会推荐一个三元组,然后在第三个边缘存储单词。然后你可以在里面实现一个单词计数器。
答案 1 :(得分:0)
您可以通过两种方式实现:
每次单词通过时都不会递增节点,只有在结束时才递增
在单词的末尾有一个伪写字母(比如空白),只有当单词在那里结束时才会递增。