【数据结构与算法学习8】二叉查找树的基本介绍与添加数据的过程

程序员语录:
把时髦的技术挂在嘴边,还不如把过时的技术记在心里。

1 二叉查找树是什么?

二叉查找树是一种数据结构,又叫作二叉搜索树或二叉排序树,采用了图的树形结构,数据存储于二叉查找树的各个结点中,每个节点中最多有两个子结点。
【数据结构与算法学习8】二叉查找树的基本介绍与添加数据的过程_第1张图片

2 二叉查找树 的特点

  • 每个结点的值均大于其左子树上任意一个结点的值。比如上图中的结点9大于其左子树上的3和8
  • 每个结点的值均小于其右子树上任意一个结点的值。比如上图中的结点15小于其右子树上的23、17和28

所以在二叉查找树的中的数据,最左边小数据,右边是大数据,在查找数据时,二叉查找树的最小结点要从顶端开始,往其左下的末端寻找;然后最大结点要从顶端开始,往其右下的末端寻找。

3 二叉查找树中添加数据

如在上图中的二叉查找树中添加数据1:

【数据结构与算法学习8】二叉查找树的基本介绍与添加数据的过程_第2张图片
第二步【数据结构与算法学习8】二叉查找树的基本介绍与添加数据的过程_第3张图片
第三步
【数据结构与算法学习8】二叉查找树的基本介绍与添加数据的过程_第4张图片
最后得到
【数据结构与算法学习8】二叉查找树的基本介绍与添加数据的过程_第5张图片


比如添加数据4,添加分析逻辑与上述过程也是一致的:
【数据结构与算法学习8】二叉查找树的基本介绍与添加数据的过程_第6张图片

4 二叉查找树中删除数据

如果需要删除的结点没有子结点,直接删掉该结点即可,如删除这里的结点 28:
【数据结构与算法学习8】二叉查找树的基本介绍与添加数据的过程_第7张图片
如果需要删除的结点只有一个子结点,那么先删掉目标结点,然后把子结点移到被删除结点的位置上即可,如删除这里的结点8:
【数据结构与算法学习8】二叉查找树的基本介绍与添加数据的过程_第8张图片
如果需要删除的结点中有两个子结点,那么先删掉目标结点,然后在被删除结点的左子树中寻找最大结点,最后将最大结点移到被删除结点的位置上。


完毕

你可能感兴趣的:(数据结构与算法,学习,数据结构,算法)