所以我失明并使用屏幕阅读器。我设法通过this了解二叉树的结构。在答案中使用二叉树的结构,我设法理解二叉搜索树和二进制堆以及如何对它们进行插入,搜索和其他操作。然而,当我开始研究2-3个搜索树时,我对它的外观完全感到困惑。假设二叉树的结构如下所示:
//slashes are links
root
/ \
左右
使用这种表示法,我理解在这棵树中递归插入,删除和搜索。
但是,当涉及到有三个节点和两个键的树时,我完全迷失了。我绝对不知道这棵树应该如何构建,但我认为它看起来像这样。
//slashes are links
root
/ \ /
离开右中间
我不确定这是否正确。我一直在阅读如何向其插入节点,但解释总是使用图像/图形,这是非常难以想象的。任何人都可以进一步解释这个吗?
答案 0 :(得分:1)
有很多方法可以代表它。我建议你试试两个
d,q / | \ a g z
d - q | / \ a g z
答案 1 :(得分:1)
2-3棵树有点复杂。
树中的节点包含一个或两个键值,除了叶子外,还有两个或三个子节点[分别]。
因此,您可以将节点视为一个气泡,其中包含一个或两个值,两个或三个箭头指向下方。
使用您的符号,它将是
之一 root
/ \
left right
或
root
/ | \
left mid right
添加密钥,例如
[a]
/ \
[b,c] [d]
或
[a,b]
/ | \
[c] [d,e] [f,g]