数据结构--折半查找

目录

折半查找知识总览

折半查找的代码实现

查找效率分析

折半查找判定树的构造

练习绘画折半查找判定树的构造

折半查找的效率

回顾本节内容


折半查找知识总览

  • 算法思想
  • 算法实现
  • 查找判定树
  • 折半查找效率

折半查找的代码实现

(基于增序排列时的代码)

查找效率分析

mid=(low+high)/2

紫色是查找失败,绿色是查找成功,1/11和1/12分别是对应的成功和失败元素的概率

折半查找判定树的构造

如果当前low和high之间有奇数个元素,则mid分割后,左右两部分元素个数相等

如果当前low和high之间有偶数个元素,则mid分割后,左半部分比右半部分一个元素

mid=(low+high)/2

这里是对mid向下取整

练习绘画折半查找判定树的构造

图中的数字是编号,是分别对应画出含有1个元素,2个元素,3个元素.....的查找表对应的折半查找判定树的样子

折半查找的效率

回顾本节内容

拓展思考

1.折半查找和顺序查找的速度问题

2、

这里是对mid向上取整

如果当前low和high之间有奇数个元素,则mid分割后,左右两部分元素个数相等

如果当前low和high之间有偶数个元素,则mid分割后,左半部分比右半部分一个元素

图中的数字是编号,是分别对应画出含有1个元素,2个元素,3个元素.....的查找表对应的折半查找判定树的样子

相关推荐
qystca18 分钟前
洛谷 P11242 碧树 C语言
数据结构·算法
汤姆和佩琦22 分钟前
2024-12-25-sklearn学习(20)无监督学习-双聚类 料峭春风吹酒醒,微冷,山头斜照却相迎。
学习·聚类·sklearn
冠位观测者25 分钟前
【Leetcode 热题 100】124. 二叉树中的最大路径和
数据结构·算法·leetcode
XWXnb628 分钟前
数据结构:链表
数据结构·链表
悲伤小伞31 分钟前
C++_数据结构_详解二叉搜索树
c语言·数据结构·c++·笔记·算法
好学近乎知o34 分钟前
正则表达式(学习Django过程中可能涉及的)
学习·正则表达式·django
雨中奔跑的小孩37 分钟前
爬虫学习案例8
爬虫·学习
jieshenai38 分钟前
使用 VSCode 学习与实践 LaTeX:从插件安装到排版技巧
ide·vscode·学习
hnjzsyjyj3 小时前
“高精度算法”思想 → 大数阶乘
数据结构·高精度算法·大数阶乘
灰太狼不爱写代码4 小时前
CUDA11.4版本的Pytorch下载
人工智能·pytorch·笔记·python·学习