【查找算法】二叉排序树查找法

本篇文章将介绍二叉排序树的查找算法。

文章目录

  • 何为二叉排序树查找?
  • 查找算法实现
  • 查找效率分析
  • 二叉排序树的插入操作
  • 二叉排序树的生成操作
  • 二叉排序树的删除操作

何为二叉排序树查找?

上篇文章我们学习了折半查找,虽然折半查找算法将查找效率提高了,但是折半查找要求序列有序,所以当表插入、删除操作频繁的时候,为了维护表的有序性,就需要移动大量的元素,此时用折半查找显然事倍功半了。

那么有没有一种办法能够让查找效率依然高,而且可以很容易地实现插入、删除呢?基于此,我们可以改用动态查找表,这种表结构是在查找过程中动态生成的。动态查找表根据用途不同,可以分为:

  1. 二叉排序树
  2. 平衡二叉树
  3. 红黑树
  4. B-树
  5. B+树
  6. 键树

本篇文章重点介绍二叉排序树。

二叉排序树又称为二叉搜索树、二叉查找树,其定义如下:

二叉排序树或是空树,或是满足如下性质的二叉树:

  1. 若其左子树非空,则左子树上所有结点的值均小于根结点的值
  2. 若其右子树非空,则右子树上所有结点的值均大于等于根结点的值
  3. 其左右子树本身又是一棵二叉排序树

如下图为一棵二叉排序树:

你可能感兴趣的:(【查找算法】二叉排序树查找法)