《计算机软件基础》第四章 查找与排序(4-8)二叉排序树的查找(1/2)

的查找 叉排序树上的查找 和二分查找类似,也 算1.算法思想 是一个逐步缩小查找 范围的过程 首先在整棵树中进行查找,用待查关键字 值与根结点的关键字值相比较,若等于根结点 的关键字值,则查找成功;若小于根结点的关 础|键字值,则缩小查找范围到左子树;若大于根 结点的关键字值,则缩小査找范围到右子树; 在左、右子树中的查找与在整棵树中的查找过 程相同。持续上述查找过程,直到找到或查找 范围为空
计 算 机 软 件 基 础 1. 算法思想 首先在整棵树中进行查找,用待查关键字 值与根结点的关键字值相比较,若等于根结点 的关键字值,则查找成功;若小于根结点的关 键字值,则缩小查找范围到左子树;若大于根 结点的关键字值,则缩小查找范围到右子树; 在左、右子树中的查找与在整棵树中的查找过 程相同。持续上述查找过程,直到找到或查找 范围为空。 二叉排序树上的查找 和二分查找类似,也 是一个逐步缩小查找 范围的过程 4.3 二叉排序树 的查找

45 18 62 若查找关 键字为30 的结点 12 30)(49 88 从根结点 25 44 82 开始查找 30<45 二叉排序树 到左子树找 查找过程示例
12 30 88 82 49 18 62 45 25 44 二叉排序树 查找过程示例 若查找关 键字为30 的结点 p 从根结点 开始查找 30<45 到左子树找

45 p-18 62 若查找关 键字为30 的结点 12 30)(49 88 30>18 25 44 82 到右子树找 二叉排序树 查找过程示例
12 30 88 82 49 18 62 45 25 44 二叉排序树 查找过程示例 若查找关 键字为30 的结点 p 30>18 到右子树找

45 18 62 若查找关 键字为30 的结点 12)p80)(49 88 30=30 25 44 82 查找成功 二叉排序树 查找过程示例
12 30 88 82 49 18 62 45 25 44 二叉排序树 查找过程示例 若查找关 键字为30 的结点 p 30=30 查找成功

45 18 62 若查找关 键字为28 的结点 12 30)(49 88 从根结点 25 44 82 开始查找 28<45 二叉排序树 到左子树找 查找过程示例
12 30 88 82 49 18 62 45 25 44 二叉排序树 查找过程示例 若查找关 键字为28 的结点 p 从根结点 开始查找 28<45 到左子树找

45 p-18 62 若查找关 键字为28 的结点 12 30)(49 88 28>18 25 44 82 到右子树找 二叉排序树 查找过程示例
12 30 88 82 49 18 62 45 25 44 二叉排序树 查找过程示例 若查找关 键字为28 的结点 p 28>18 到右子树找

45 18 62 若查找关 键字为28 的结点 12)p80)(49 88 28<30 25 44 82 到左子树找 二叉排序树 查找过程示例
12 30 88 82 49 18 62 45 25 44 二叉排序树 查找过程示例 若查找关 键字为28 的结点 p 28<30 到左子树找

45 18 62 若查找关 键字为28 的结点 12 30)(49 88 28>25 25 44 82 到右子树找 二叉排序树 查找过程示例
12 30 88 82 49 18 62 45 25 44 二叉排序树 查找过程示例 若查找关 键字为28 的结点 p 28>25 到右子树找

45 18 62 若查找关 键字为28 的结点 12 30)(49 88 NULL 25 44 82 待查找 范围为空 查找失败 二叉排序树 查找过程示例
12 30 88 82 49 18 62 45 25 44 二叉排序树 查找过程示例 若查找关 键字为28 的结点 p=NULL 待查找 范围为空 查找失败

bstree *bstsearch(bstree *t, int x) /在根结点为*t的二叉排序树中查找关键字为x的元素* While(t!=NULL Rif(x==t->key) return t 算机软件基础 /查找成功时返回该结点的指针* else Rif(xkey)t=t->lchild; 当待査值小于根结点关键字值时在左子树中查找* else t=t->rchild /当待查值大于关键字值时在右子树中查找* return NULL;/查找失败时返回空指针* 3/*bstsearch*/
2. 算法描述 bstree *bstsearch(bstree *t, int x) /*在根结点为*t的二叉排序树中查找关键字为x的元素*/ {while(t!=NULL) {if(x==t->key) return t; /*查找成功时返回该结点的指针*/ else {if(xkey) t=t->lchild; /*当待查值小于根结点关键字值时在左子树中查找*/ else t=t->rchild; } /*当待查值大于关键字值时在右子树中查找*/ } return NULL; /*查找失败时返回空指针*/ } /*bstsearch*/ 计 算 机 软 件 基 础
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《计算机软件基础》第四章 查找与排序(4.1-4.2)查找与排序概述.ppt
- 《计算机软件基础》第四章 查找与排序(4.6.2)快速排序.ppt
- 《计算机软件基础》第四章 查找与排序(4.5-4.6.1)直接插入排序.ppt
- 《计算机软件基础》第三章 小结.ppt
- 《计算机软件基础》第二章 小结.ppt
- 《计算机软件基础》第三章 非线性数据结构(3-1)多维数组.ppt
- 《计算机软件基础》第三章 非线性数据结构(3-2)树.ppt
- 《计算机软件基础》第二章 线性数据结构(2.3-2.4)栈和队列.ppt
- 《计算机软件基础》第二章 线性数据结构(2-4)队列.ppt
- 《计算机软件基础》C语言复习.ppt
- 《计算机软件基础》第二章 线性数据结构(2-2)线性表.ppt
- 《计算机软件基础》第二章 线性数据结构(2-1)数据结构概述.ppt
- 《计算机软件基础》第四章 习题答案.doc
- 《计算机软件基础》第二章习题答案.doc
- 《计算机软件基础》第三章习题答案.doc
- 《ASP程序设计》讲义PPT电子课件(共十一章).ppt
- 《大学计算机应用基础》模拟试题5.doc
- 《大学计算机应用基础》模拟试题4.doc
- 《大学计算机应用基础》模拟试题3.doc
- 《大学计算机应用基础》模拟试题2.doc
- 《计算机软件基础》第四章 小结.ppt
- 《计算机软件基础》第四章 查找与排序(4-8)多关键字排序(2/2).ppt
- 《计算机软件基础》第四章 查找与排序(4-7)简单选择排序.ppt
- 《计算机软件基础》第一章 软件工程(1-8)维护.ppt
- 《计算机软件基础》第一章 软件工程(1-1)软件工程概述.ppt
- 《计算机软件基础》第一章 软件工程(1-2)软件定义阶段.ppt
- 《计算机软件基础》第一章 软件工程(1-3)需求分析.ppt
- 《计算机软件基础》第一章 软件工程(1-4)系统设计.ppt
- 《计算机软件基础》第一章 软件工程(1-5)详细设计.ppt
- 《计算机软件基础》第一章 软件工程(1-6)编码.ppt
- 《计算机软件基础》第一章 软件工程(1-7)软件测试.ppt
- 《计算机软件基础》第一章 小结.ppt
- 《计算机软件基础》第四章(4-4)哈希查找.ppt
- 《计算机软件基础》第二章 线性数据结构(2-2-4)链式存储线性表的基本运算.ppt
- 《计算机软件基础》第三次上机作业.ppt
- 《计算机软件基础》第四次上机作业.ppt
- 《计算机软件基础》第一次上机作业.ppt
- 《计算机软件基础》第二次上机作业.ppt
- 《计算机软件基础》第五次上机作业.ppt
- 《计算机软件基础》第六次上机作业.ppt