课堂实践ASL博客
实践博客
二分法查找元素
- 1.首先定义三个位置min,mid,max
- 2.每次从所有元素所处位置的中间开始查找(所有元素必须以由小及大顺序排列完毕)
- 3.当中间元素大于所查找元素时,从中间元素(mid)左半区进行查找,此时max元素由最大值变为mid左侧紧邻的那个元素,min元素不变。
- 4.当中间元素小于所查找元素时,从中间元素(mid)右半区进行查找,此时max位置不变,min元素由最小元素变为mid元素的紧邻的右侧元素,max元素不变
- 5.当所查元素与mid元素相等时,查找结束。
- 6.当未查找到时,重复3、4步骤,直至查找到所需元素。
ASL分析
- ASL,Average Search Length,是查找算法的查找成功时的平均查找长度的缩写,是为确定记录在查找表中的位置,需和给定值进行比较的关键字个数的期望值。
- 二分法的ASL
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|
05 | 13 | 19 | 21 | 37 | 56 | 64 | 75 | 80 | 88 | 92 |
3 | 4 | 2 | 3 | 4 | 1 | 3 | 4 | 2 | 3 | 4 |
- 第一行为索引,第二行为元素,第三行为查找到该元素所需要的次数。
- 所以该元素集合的ASL=(1+2 * 2 + 3 * 4 + 4 * 4)/11=3
时间算法复杂度分析
- 二分法每次可以排除一半不符合要求的元素
- 对于n个元素
- 1.第一次剩下n/2
- 2.第二次剩下n/4
- 3.n次剩下n/(2^m)
- 所以,时间复杂度为log₂(n)
- 补充,对于第一个,第二个数即05,13元素,他们的搜寻次数为3和4.这取决于其具体的代码实现,不同的比较顺序可以带来不同的搜寻次数,例如,先从远离最后一次中间元素开始,那么05为3次,从靠近最后一次中间元素开始,05就会变为4次。
课堂实践ASL博客的更多相关文章
- 20155308《信息安全系统设计基础 嵌入式C语言课堂考试补博客
20155308<信息安全系统设计基础 嵌入式C语言课堂考试补博客 知识点 置位 ?bits = bits | (1 << 7) ; /* sets bit 7 */ bits |= ...
- java课堂动手动脑博客
随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 要求将设计思路.程序流程图.源程序代码.结果截图.编程总结等发表到博客园. (截止时间2015 ...
- VMware workstation运维实践系列博客导航
第一章:VMware workstation虚拟化1.1 VMware workstation计算网络存储介绍1.2 VMware workstation其他功能特性介绍1.3 VMware work ...
- 20172314 蓝墨云课堂实践ASL
由于去跳啦啦操没有上课... 介绍 折半查找,又称作二分查找.这个查找的算法的特点,就是,要求数据要是有序的. 1 ,存储结构一定是顺序存储 2 ,关键字大小必须有序排列 然后,利用这组有序的数据之间 ...
- 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)
20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...
- 自我介绍&软工实践博客点评
想想既然写了点评博客,那就顺便向同学们介绍下自己吧. 我是16届计科实验班的,水了两件小黄衫,于是就来当助教了_(:_」∠)_ 实话说身为同届生来当助教,我心里还是有点虚的,而且我还是计科的..感觉软 ...
- 【2017集美大学1412软工实践_助教博客】团队作业10——项目复审与事后分析(Beta版本)
写在前面的话 转眼轰轰烈烈本学期的软工实践就结束了,这个过程中想必在熬夜敲代码,激烈讨论中留下诸多回忆的同时,也收获了不少.恭喜所有团队完成了本阶段冲刺,此外,由于大家的贡献分给的都很平均,将个人贡献 ...
- 20155205 《Java程序设计》0510课上实践博客
20155205 <Java程序设计>0510课上实践博客 一.教材代码检查-p98 未提交成功原因: 一开始在iterm中运行,但是结果出错,没有时间提交了.这个提交其实很简单,没有提交 ...
- 2017-2018-1 20155305 《信息安全系统设计基础》第四周学习总结(课堂提交作业未来得及提交码云链接myod补充博客)
2017-2018-1 20155305 <信息安全系统设计基础>第四周学习总结(课堂提交作业未来得及提交码云链接myod补充博客) 课堂提交题目要求 编写MyOD.java 用java ...
随机推荐
- ZOJ 3212 K-Nice(满足某个要求的矩阵构造)
H - K-Nice Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Submit Sta ...
- ASP.NET Core 应用程序Startup类介绍 (转载)
Startup类配置服务和应用程序的请求管道. Startup 类 ASP.NET Core应用程序需要一个启动类,按照惯例命名为Startup.在主程序的Web Host生成器(WebHostBui ...
- overflow:hidden 影响inline-block元素周围元素下移
前言: 最近在切页中,我想实现左边一个类似下拉选框,且不允许输入,右边有一段垂直居中的文字描述的效果.我对文字用的是p标签.其实可以用个i/b/em等其他行内标签,同时也具有一定语义,做为强调提示,( ...
- Linux下onvif客户端关于ipc摄像头的搜索
设备搜索:要访问一个IPC摄像头,或者说要调用IPC摄像头提供的WEB服务接口,就要先知道其IP地址,这就是设备发现的过程,或者叫设备搜索的过程.IPC摄像头用的是239.255.255.250(端口 ...
- PHP原生开发的各大音乐平台API接口
支持以下音乐平台 网易云音乐 QQ音乐 酷狗音乐 酷我音乐 虾米音乐 百度音乐 一听音乐 咪咕音乐 荔枝FM 蜻蜓FM 喜马拉雅FM 全民K歌 5sing原创 5sing翻唱 若是数据获取失败 方案一 ...
- rails 中http请求发生access-control-allow-origin错误
在api项目中 本地项目无法访问服务器api 百度了下,查出原因 接着找到rails项目的解决方法,安装rack-cors这个gem包 具体方法如下: Gemfile中加入 gem 'rack-cor ...
- ExcelVBA实现一键生成word文字报告及批量操作[原创]
在很多工作中,经常需要写一些类似的报告,使用同一个模板,只是里面的数据不同,人工操作工程量大且容易出错,如果能用程序直接实现可以省去不少麻烦. 本文使用ExcelVBA实现,主要思路是使用word邮件 ...
- svn版本控制常用命令
查看未提交的文件(含新增的和修改过得) svn status 检出代码 svn checkout svn://192.168.0.10/v2019.1/spark \ /Users/zhangsa ...
- mssqlserver分区表的左值与右值
参考官方文档: https://docs.microsoft.com/zh-cn/sql/t-sql/statements/create-partition-function-transact-sql ...
- zhengruioi 470 区间
区间 链接 题意:给定n个区间[li,ri].你可以选出任意一些区间,设选出的区间个数是s,[l,r]是这些区间的交,求min(s,r-l+1)的最大值. N≤3×105 分析:首先按照左端点排序,然 ...