数据结构学习笔记_树

一、查找二叉树

1.查找二叉树的性质

 

2.contains 方法

   如果树T中含有节点X,那么返回true,如果节点不存在返回false(并且在左子树或右子树进行递归调用);

3.findMin和findMax方法

  finMin是从根节点向左儿子进行,递归调用,终点就是最小的元素;

  findMax是从根节点向右儿子进行,递归调用,终点就是最大的元素;

3.insert方法

 

  比如,要将5插入到上面的左树中,只需要找到4, 继续向右进行,但右边不存在子树,所5的插入位置就是在这里

 

4.查找二叉树的remove(最困难)

1.节点是一篇树叶(没有儿子),立即被删除;

2.节点只有一个儿子,父节点绕过该儿子节点后被删除,例如下面左图;

3.节点有两个儿子,一般的删除策略是用其右子树的最小数据代替该节点的数据(下面由图,从右子树5里面找最小数3来代替2),并递归地删除那个节点(例如交换后的节点2).因为右子树的最小节点不可能有左儿子;

 

 删除程序如下:

 

5.平均深度

一个树的所有节点的深度和称为 内部路径长,

 

 

二、AVL树

1.性质 

带有平衡条件的查找二叉树.  一个AVL树,每个节点的左子树和右子树最多相差1(空树的节点为-1).

 

 2.单旋转

 

 

 3.双旋转

 

转载于:https://www.cnblogs.com/coloz/p/11062472.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值