Java中怎么实现 二叉树查找
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章将为大家详细讲解有关Java中怎么实现 二叉树查找,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。二叉树查找的基本思想是在二叉查找树中从根节点开
千家信息网最后更新 2025年02月03日Java中怎么实现 二叉树查找
这篇文章将为大家详细讲解有关Java中怎么实现 二叉树查找,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
二叉树查找的基本思想是在二叉查找树中从根节点开始,如果大于根节点则继续比较右孩子,如果小于则继续查找左孩子,依次往复。
如图所示
输入:待查元素ele
输出:对应元素在二叉查找树中的结点位置
代码:
public Node search(Object ele){return binTSearchRe (root, ele);}private Node binTSearchRe(BinTreeNode rt, Object ele){if (rt==null) return null;switch(strategy.compare(ele,rt.getData())){case 0: return rt; //等于case -1: return binTSearchRe(rt.getLChild(),ele); //小于default: return binTSearchRe(rt.getRChild(),ele); //大于}}
输入:待查元素ele
输出:对应元素在二叉查找树中的结点位置
代码:
public Node search(Object ele){return binTSearchRe (root, ele);}private Node binTSearchRe(BinTreeNode rt, Object ele){if (rt==null) return null;switch(strategy.compare(ele,rt.getData())){case 0: return rt; //等于case -1: return binTSearchRe(rt.getLChild(),ele); //小于default: return binTSearchRe(rt.getRChild(),ele); //大于}}
输入:根结点v
输出:在v 为根的二叉查找树中最小元素的位置
代码:
public Node min(BinTreeNode v){if (v!=null)while (v.hasLChild()) v = v.getLChild();return v;}
输入:根结点v
输出:在v 为根的二叉查找树中最大元素的位置
代码:
public Node max(BinTreeNode v){if (v!=null)while (v.hasRChild()) v = v.getRChild();return v;}
输入:根结点v
输出:返回v 在中序遍历序列中的后续结点
代码:
private BinTreeNode getSuccessor (BinTreeNode v){if (v==null) return null;if (v.hasRChild()) return (BinTreeNode)min(v.getRChild());while (v.isRChild()) v = v.getParent();return v.getParent();}
输入:根结点v
输出:返回v 在中序遍历序列中的前驱结点
代码:
private BinTreeNode getPredecessor(BinTreeNode v){if (v==null) return null;if (v.hasLChild()) return (BinTreeNode)max(v.getLChild());while (v.isLChild()) v = v.getParent();return v.getParent();}
关于Java中怎么实现 二叉树查找就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
结点
代码
元素
输入
输出
位置
内容
孩子
序列
文章
更多
知识
篇文章
节点
不错
最大
最小
前驱
思想
是在
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全防范知识教案
2018网络安全试卷66
md5解密服务器
滨湖区咨询软件开发费用是多少
管理系统软件开发服务流程
以色列网络安全会议
创建数据库drop
外呼系统软件开发
用友软件可以安装数据库吗
无源光网络技术的优缺点
信息网络安全中的
网游的数据库怎么连接
数据库技术与应用实例
浅谈文献数据库的区别
上海软件开发培训机构
魔兽世界联盟各服务器配置
奥的斯服务器安全回路
软件开发哪里可以学
火炬之光服务器
互联网金融科技企业排名乐信
有一台国外服务器可以干什么
网络安全技术第二版考试题库
数据库的工作特点
cnkl收录的文献数据库
网络安全规定《 》负责
介绍软件开发 英语怎么说
东莞触摸屏软件开发定制
steam老无法连接服务器
摩羯软件开发公司
浙江水性软件开发批发