数据结构--折半查找

目录

折半查找知识总览

折半查找的代码实现

查找效率分析

折半查找判定树的构造

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

折半查找的效率

回顾本节内容


折半查找知识总览

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

折半查找的代码实现

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

查找效率分析

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

相关推荐
西岸行者3 小时前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
琢磨先生David4 小时前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
悠哉悠哉愿意4 小时前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
qq_454245035 小时前
基于组件与行为的树状节点系统
数据结构·c#
超级大福宝5 小时前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
别催小唐敲代码6 小时前
嵌入式学习路线
学习
岛雨QA6 小时前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc6 小时前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
wefg16 小时前
【算法】单调栈和单调队列
数据结构·算法
岛雨QA6 小时前
图「Java数据结构与算法学习笔记12」
数据结构·算法