问题标签 [ternary-search-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2563 浏览

java - 如何在 Trie 中打印所有单词?

我有一个三元搜索树Trie),我想打印出其中的所有单词。

我如何使用下面的当前实现来解决这个问题?我有一个标准的put方法来向树中添加新词。我试图使用有序遍历来打印单词,但我不确定如何准确地完成该功能。

0 投票
1 回答
428 浏览

java - 正确删除三元搜索树中的节点

我想使用三元搜索树中的键删除特定节点。这在大多数情况下工作得很好,但在我的一些测试集中,没有中间孩子的节点也不存储值,这不应该发生。

我尝试了在网上找到的不同方法,但几乎所有这些方法都使树处于脏状态,这使搜索变得很麻烦,因为您需要检查找到的叶子是否确实具有值,而这不应该发生。

这是我的相关代码

具体来说,我用于前缀查找的这个函数会出现问题:

每个没有 x.mid 的节点都应该有一个 x.val 集,删除后并不总是这样,这意味着我有脏节点。

任何帮助将不胜感激。

0 投票
1 回答
70 浏览

c# - 这个数据结构搜索算法叫什么名字?

我有一个使用多个键的树搜索算法,每个节点都有一个子树,用键列表中的下一个键搜索该子树,直到键用完并且正在搜索的数据位于该端节点中。

我的代码正在运行,但我不知道该怎么称呼它。在我阅读 Wicki 页面之前,我认为它是一棵三叉树,但似乎并非如此。所以我只是不知道该怎么称呼它。

这是我的课。像二叉树一样工作,对键的数量没有限制,其中键集作为列表发送到搜索/插入函数。每次一个键找到一个节点时,下一个键就会从列表中删除,并且该节点的“下一个键树”重复该过程,直到它用完键并发回数据。我的想法是我可以用它来标记“名字”、“第二名”、“职业”、“城市”等类别的精确搜索。它们以相同的顺序输入,并且可以遍历任何子树。仍然不确定这比字符串的常规二叉树好多少。我有另一个精确的版本,它有可能更方便的整数键。