数据结构--折半查找

目录

折半查找知识总览

折半查找的代码实现

查找效率分析

折半查找判定树的构造

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

折半查找的效率

回顾本节内容


折半查找知识总览

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

折半查找的代码实现

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

查找效率分析

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个元素.....的查找表对应的折半查找判定树的样子

相关推荐
Chef_Chen1 分钟前
从0开始学习R语言--Day27--空间自相关
学习
曾几何时`9 分钟前
C++——位图、布隆过滤器
数据结构·算法
虾球xz26 分钟前
CppCon 2017 学习:10 Core Guidelines You Need to Start Using Now
开发语言·c++·学习
尤物程序猿1 小时前
深入理解ArrayList:从Java原生实现到手写一个ArrayList
java·数据结构·python
AgilityBaby1 小时前
UE5创建蒙太奇动画并播放和在动画蒙太奇中创建动画通知状态
笔记·学习·ue5·游戏引擎·蓝图·蒙太奇动画
Frank_zhou1 小时前
算法-数组实战【设计链表】中等
数据结构·算法
蓝胖子不会敲代码2 小时前
跟着AI学习C# Day14
开发语言·学习·c#
nuoyigui98892 小时前
visual studio学习250614(编译错误)
ide·学习·visual studio
雁于飞2 小时前
计算机网络与数据通信基础
笔记·计算机网络·考研·学习方法
zx_zx_1232 小时前
线程的学习
java·开发语言·学习