[数据结构复习]树_二叉搜索树&AVL树

来源:互联网 发布:靠谱助手连不上网络 编辑:程序博客网 时间:2024/06/05 12:46

一、二叉搜索树

1.性质

   每个结点都有一个作为搜索一句的关键码,所有结点关键码不同;

   左子树的所有结点的关键码都小于根结点的关键码。

   右子树的所有结点的关键码都大于根结点的关键码。

   左子树右子树也是二叉搜索树。


2.二叉搜索树的搜索

   用递归。


3.二叉搜索树的插入

   每次插入都要从根结点出发搜索插入位置,然后把新结点作为叶结点插入。


4.二叉搜索树的删除

   三种情况。

   1)如果右子树为空,用左子女填补。

   2)如果左子树为空,用右子女填补。

   3)如果左右子树均不为空,在右子树中寻找中序下第一个结点(关键码最小)来填补,再来处理那个结点的删除问题,这是个递归处理。


5.最优二叉搜索树

   动态规划,算法导论上的例子。

   参见博客http://blog.csdn.net/xiajun07061225/article/details/8088784




二、AVL树

1.AVL树又称高度平衡的二叉搜索树,左子树和右子树都是AVL树,且左子树右子树的高度之差的绝对值不大于1。

2.平衡化旋转

   四种旋转方式。

   










0 0
原创粉丝点击