feat(tree): add binary search tree in golang

This commit is contained in:
reanon
2022-11-26 13:25:13 +08:00
parent db5ca936b6
commit 2e72ce8eeb
3 changed files with 208 additions and 5 deletions

View File

@@ -63,11 +63,11 @@ comments: true
给定一个待插入元素 `num` ,为了保持二叉搜索树 “左子树 < 根结点 < 右子树” 的性质,插入操作分为两步:
1. **查找插入位置:** 与查找操作类似,我们从根结点出发,根据当前点值和 `num` 的大小关系循环向下搜索,直到越过叶结点(遍历到 $\text{null}$ )时跳出循环;
1. **查找插入位置:** 与查找操作类似,我们从根结点出发,根据当前点值和 `num` 的大小关系循环向下搜索,直到越过叶结点(遍历到 $\text{null}$ )时跳出循环;
2. **在该位置插入结点:** 初始化结点 `num` ,将该结点放到 $\text{null}$ 的位置
二叉搜索树不允许存在重复点,否则将会违背其定义。因此若待插入结点在树中已经存在,则不执行插入,直接返回即可。
二叉搜索树不允许存在重复点,否则将会违背其定义。因此若待插入结点在树中已经存在,则不执行插入,直接返回即可。
![bst_insert](binary_search_tree.assets/bst_insert.png)