【数据结构十六】二叉/平衡排序树的定义以及操作

70 阅读1分钟

二叉排序树(又叫二叉查找树):BST

  • 一棵二叉树或者是空二叉树,或者是具有如下性质的二叉树:
    • 左子树上所有结点的关键字均小于根结点的关键字;
    • 右子树上所有结点的关键字均大于根结点的关键字;
    • 左子树和右子树又各是一棵二叉排序树
  • 左子树结点值 < 根结点值 < 右子树结点值: 进行中序遍历,可以得到一个递增的有序序列
  • 二叉排序树的查找:

图片.png

图片.png

  • 二叉排序树的插入:

图片.png

  • 二叉排序树的构造:

图片.png

  • 总结:

图片.png

平衡二叉树:树上任一结点的左子树和右子树的深度之差不超过1(AVL树)

图片.png

  • 调整最小不平衡子树

a946cc5099832ebaca7b8539b20adb7.jpg

  • LL型

47466b8a297fa99b28dd8b064f5cd8f.jpg

  • RR型

be3d7f0f1ba0706e3cae0d941f8f1dd.jpg

  • 代码思路

909862a510773dc7c85fcb1903c9a8a.jpg

  • LR型

8879071fd56243428e8d1060da1c0b0.jpg

001802c7484fe5c1396a57f67f542ae.jpg

b5792adb7830c17b8bdb2ffddf0afd6.jpg

  • RL型

0d36d019724b9c3aeecf1282ac82246.jpg

  • 总结

149949f98d6fa1e2aae796d51526ab9.jpg

04063a01e09b576758ca8228f770c21.jpg