【发布时间】:2015-03-19 20:55:05
【问题描述】:
我以为我了解 BST。 直到我的教授出现。
假设我有一个 BST:
2
/ \
1 3
现在如果我插入 4,我的树将如下所示:
2
/ \
1 3
\
4
但是我教授的树最终会是这样的:
2
/ \
1 4
/ \
3 4
基本上,他找到了应该放置新节点的位置并将其放置在那里。然后他将新节点的父节点的值更改为新节点的值,并使父节点的左子节点与原来的父节点相同。
我在网上四处寻找,但找不到这样做的人。
这是一种什么样的插入技术?我错过了什么吗? 我认为这不会有什么不同,但这是专门针对 AVL 树的。
【问题讨论】:
-
在
BST中,left/rightchildren 必须小于 parent。 (例如,孩子3必须低于右侧的4)见Inserting an element in Binary Tree -
@DavidC.Rankin 左右孩子一定要小吗?这不会造成最大堆吗?
标签: insert binary-search-tree avl-tree