数据结构学习笔记_树

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).因为右子树的最小节点不可能有左儿子;

 

 删除程序如下:

 

猜你喜欢

转载自www.cnblogs.com/coloz/p/11062472.html
今日推荐