二叉树与红黑树

看完直接总结是最好的,越拖越晚越晚越拖嘿嘿

 

二叉搜索树性质

1.二叉树的性质:树&二叉

2.搜索性质:左子<父<右子

3.不存在的性质:平衡

 

操作

中序遍历:得到有序序列

函数调用是哪种序?都不是,在各个子程序调用之间及调用前后,可能存在调用方的操作,除非函数的调用行为保持规律

 

查找:search,min,suc,pre

 

我觉得从区间的角度考察二叉树十分合适,全体数构成一个区间,从根到叶二分搜索区间

 

search:二分搜索区间,失败(虚拟节点)——NIL

 

min:区间左端点

 

max:区间右端点

 

suc(后继):两个搜索方向,向上搜索自身所处的更大区间,区间增大可能导致右端点右移

              向下搜索:继续细分区间

              当向上向下都有大于当前节点的数时,下方的树在更小的区间,离当前结点更近

 

pre:

 

增:查

 

删:保持二叉树属性(连通,有序)

分类讨论

1.无子树

2.单子树

原节点与子树完成了一个方向的区间细分,且原节点为端点

直接将子树上提,不会对另一个方向的划分造成影响(没有节点)

3.双子树

在左子树中找前驱/或右子树找后继。则前驱/后继依然能够保持左右区间的正确划分

而且前驱后继只有最多一个子树,递归到更小子树的1,2情况

 

红黑树

属性:红-黑黑

子操作:旋转,

posted on 2018-07-02 14:31  秦梦超  阅读(160)  评论(0编辑  收藏  举报

导航