当前位置:网站首页>二叉查找树的查找
二叉查找树的查找
2022-08-02 16:58:00 【chengqiuming】
一 点睛
因为二叉查找树的中序遍历的有序性,所以查找与二分法查找类似,每次都缩小查找范围,查找效率较高。
二 算法步骤
1 若二叉查找树为空,查找失败,则返回空。
2 若二叉查找树非空,则将待查找的关键字 x 与根节点关键字 T.data 进行比较
若 x== T.data,查找成功,则返回 T。
若 x<T.data,则递归查找左子树。
若 x>t.data,则递归查找右子树。
三 图解
1 二叉查找树如下,查找关键字 32
2 第一次查找
3 第二次查找
4 第三次查找
四 代码
// 二叉排序树的递归查找
static public TreeNode search(TreeNode root, int val) {
// 若查找成功,则返回指向该数据元素结点的指针,否则返回空指针
if ((root == null) || val == root.val)
return root;
else if (val < root.val)
return search(root.left, val); // 在左子树中继续查找
else
return search(root.right, val); // 在右子树中继续查找
}
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode() {
}
TreeNode(int val) {
this.val = val;
}
}
边栏推荐
- In the idea to create a web project _idea deployment of the web project
- 红蓝对抗经验分享:CS免杀姿势
- 【二】通过props进行传值,子页面多种方式接收
- 图解LeetCode——622. 设计循环队列(难度:中等)
- Navicat premium download and install 15 detailed tutorial
- Pytest学习笔记
- 数字孪生园区场景中的坐标知识
- 【C语言刷题】指针入门三题|字符串长度、字符串复制、两数交换
- Inconsistency between oracle and mysql statement results
- 分类实验报告作业
猜你喜欢
随机推荐
npm install报错Fix the upstream dependency conflict, or retry
golang源码分析(3):thrift
持续集成(三)Jenkins新增节点
SQL Statement Basics
golang源码分析(6):sync.Mutex sync.RWMutex
Mysql——分组统计
Switch 块、Switch 表达式、Switch 模式匹配,越来越好用的 Switch
锁定和并发控制(一)
LeetCode·每日一题·
【二】通过props进行传值,子页面多种方式接收
【电子器件笔记6】三极管(BJT)参数和选型
【无标题】
Kubernetes:(六)Pod重启策略和状态解释
一篇文章带你搞定BFC~
周末看点回顾|亚马逊将于2023年底关闭Amazon Drive网盘服务;千寻位置发布时空智能六大底层自研技术…
时间戳格式化「建议收藏」
Five speakers: seventy genius_platform software platform development 】 【 turn YUY2 RGB24 implementation source code
Locking and Concurrency Control (2)
特殊变量 (SQL)
启航