基本前缀树实现问题
|
我已经实现了基本的前缀树或\“ trie \”。特里由以下节点组成:
// pseudo-code
struct node {
char c;
collection<node> childnodes;
};
假设我在Trie中添加了以下单词:\“ Apple \”,\“ Ark \”和\“ Cat \”。现在,当我查找诸如\“ Ap \”和\“ Ca \”之类的前缀时,我的trie \\“ bool containsPrefix(string prefix)\”方法将正确返回true。
现在,我正在实现方法“ bool containsWholeWord(string word)\”,该方法将对\“ Cat \”和\“ Ark \”返回true,但对\“ App \”返回false(在上面的示例中)。
特里树中的节点是否具有某种\“ endOfWord \”标志是否常见?这将有助于确定所查找的字符串是否实际上是输入到trie中的整个单词,而不仅仅是前缀。
干杯!
没有找到相关结果
已邀请:
2 个回复
联课
标志。 或者,您可以(有时)通过使两个节点具有相同的字符来使其适合您的设计。因此\“ Ap \”必须具有子节点:叶节点\“ p \”和具有子\“ l \”的内部节点\“ p \”。
剃摧庭峨僳