目录
- 前言
- 正文
- min()方法
- min(Node x)方法
- max()方法
- max(Node x)方法
前言
日常生活中,很多事物都可以用树来描述,例如书的目录、工作单位的组织架构等等。树是计算机中非常重要的一种数据结构,树存储方式可以提高数据的存储、读取效率。
正文
比如二叉树中用来记录某个公司员工薪资和员工姓名数据,或者某班级学生们的排名和姓名数据。如何快速找出排名最高和最低的同学数据?
这样的话,该怎么做呢?其实,一般还可以整理出如下四个方法,定义如下:
1. min()方法
min()方法和上面提到的 get()和 put()方法类似,也可以使用下面的重载方法实现,具体代码如下:
// 找出树中最小的键publickeymin() { returnmin(root).key; }
2. min(Node x)方法
min(Node x)方法需要根据传入的结点位置,查找左子树中的最小的结点,如果为空,则直接返回空,具体代码实现如下:
// 找出树中最小键所在的结点publicNodemin(Nodex) { if (x==null) { returnx; } NodeminNode=x; while (minNode.left!=null) { minNode=minNode.left; } returnminNode; }
3. max()方法
max()方法和上面提到的 min()方法类似,也可以使用下面的重载方法实现,具体代码如下:
// 找出树中最小的键publickeymax() { returnmax(root).key; }
4. max(Node x)方法
max(Node x)方法需要根据传入的结点位置,查找右子树中的最大的结点,如果为空,则直接返回空,具体代码实现如下:
// 找出树中最大键所在的结点publicNodemin(Nodex) { if (x==null) { returnx; } NodemaxNode=x; while (maxNode.right!=null) { maxNode=maxNode.right; } returnmaxNode; }
作者简介:大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,同时也是CSDN博客专家、华为云享专家(共创编辑)、InfoQ 签约作者,欢迎关注我分享更多干货!