【发布时间】:2021-04-24 09:25:22
【问题描述】:
我有这个特里:
a
/ \
b c
/ \ \
t y u
2 5 3
numbers at leaf stands for frequency, stored at the terminal node
我有默认的 Trie 搜索功能来搜索字符串。当我执行search('a') 时,它会返回aby,因为它是最常插入的字符串。频率由self.count 存储在我的函数中。
我不想发布我的代码。
您将如何解决并将节点从 a 返回到 y?
提前谢谢你。
【问题讨论】:
-
Id 在每个节点 ot trie 中创建一个元素,指示具有最大频率路径的子节点。然后根据这个索引进行深度优先搜索。
-
@AlbinPaul 每个节点(字母)都由 node.tree[index] 表示,其中 index 是字母的序号。我应该如何基于此做一个dfs?我没有使用也不会使用任何字典/集。
-
好吧,找到一种机制,让每个节点都指向它需要遍历的下一个节点。不看你写了什么代码就不能说太多。