数据结构:4.1.1二叉搜素树及查找

静态查找:要找的集合的元素是不动的,主要是find操作,没有delete操作

动态查找:要查找的集合会经常发生插入删除的操作

静态查找的一个很好的方法就是二分查找

把数据直接放在树上

结点右子树的值>结点的值>结点左子树的值

Find函数两个参数,一个要查找的元素X,一个树BST

实现的方式不仅是递归而且是尾递归, 即程序最后要返回的时候递归,从遍历的角度讲尾递归都可以用循环来实现

而 对同样的n个结点来说,查找的效率又与树的结构有关

最坏的情况:只有左儿子或只有右儿子,形成一条链,高度是n-1

所以我们喜欢的是平衡一点的树,这就是之后要学的二叉平衡树。

为什么这两个程序的写法不一样啊???

相关推荐
Lucky_ldy2 小时前
数据结构从入门到精通:顺序表
数据结构·链表
熬夜敲代码的猫2 小时前
AVL树(C++详解版)
数据结构·c++·算法
并不喜欢吃鱼3 小时前
从零开始 C++-----十一【C++ 数据结构】红黑树全解析:从定义到工程实现(一文搞定,十分详细)
开发语言·数据结构·c++
星恒随风3 小时前
C语言数据结构排序算法详解(上):从插入排序、希尔排序到选择排序、堆排序
c语言·数据结构·笔记·学习·排序算法
迈巴赫车主3 小时前
蓝桥杯21247弹跳鞋java
java·开发语言·数据结构·算法·职场和发展·蓝桥杯
Cthy_hy4 小时前
Python算法竞赛:集合去重+字典映射 核心用法一站式整理
数据结构·python·算法
happymaker06264 小时前
LeetCodeHot100——盛水最多的容器
数据结构·算法·leetcode·双指针·hot100
过期动态4 小时前
【LeetCode 热题 100】三数之和
java·数据结构·算法·leetcode·职场和发展·排序算法
一切皆是因缘际会4 小时前
AI高速迭代下的技术风险与理性突围
大数据·数据结构·人工智能·架构
代码中介商5 小时前
B+树:数据库索引的终极奥秘
数据结构