博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树的基础操作(Java)
阅读量:7052 次
发布时间:2019-06-28

本文共 1042 字,大约阅读时间需要 3 分钟。

1 //1 二叉树的深度(在后序遍历的基础上进行 时间复杂度: O(n)) (即左右子树的最大深度加1)  2 public int getDepth(BiTNode node) 3 { 4     if(node == null) 5     return 0; 6  7     int count1, count2; 8     count1 = getDepth(node.lchild); 9     count2 = getDepth(node.rchild);10     return max(count1, count2) + 1;11 }
1 //2 给定结点的后继(Successor) 2 public BiNode Successor(BiNode x) 3 { 4     BiNode p = x.rchild; 5     if(p != null) 6     { 7         while(p.lchild != null) 8             p = p.lchild; 9         return p;10     }11     BiNode q = x.parent;12     while(q != null && x == q.rchild)13     {14         x = q;15         q = q.parent;16     }17     return q;18 }
1 //3 给定结点的前驱(Predecessor) 2 public BiNode Predecessor(BiNode x) 3 { 4     BiNode p = x.lchild; 5     if(p != null) 6     { 7         while(p.rchild != null) 8             p = p.rchild; 9         return p;10     }11     BiNode q = x.parent;12     while(q != null && x == q.lchild)13     {14         x = q;15         q = q.parent;16     }17     return q;18 }

 

转载于:https://www.cnblogs.com/Huayra/p/10808070.html

你可能感兴趣的文章
访问控制符
查看>>
Android studio修改字体(font)大小(size)
查看>>
------第二节-----------------第二讲----单链表的基本操作---------
查看>>
iOS 百度地图大头针使用
查看>>
1118: 零起点学算法25——求两点之间的距离
查看>>
delegate代理设计模式
查看>>
花10分钟搞懂开源框架吧 - 【NancyFx.Net】
查看>>
busybox的使用
查看>>
GridView(网格视图)+MotionEvent(触控事件)实现可以拖动排序的网格图
查看>>
jq实现全选或者全不选
查看>>
牛人博客
查看>>
linux笔记_20150825_linux有什么好处
查看>>
各种实用工具的使用 学习
查看>>
MarkLight
查看>>
显示/隐藏Mac下的隐藏文件
查看>>
关于数字签名简要原理
查看>>
POJ-3565 Ants 空间点对不相交匹配-最小权值匹配
查看>>
第三次月考
查看>>
单例模式的理解与应用
查看>>
springmvc(一)
查看>>