数据结构-查找-分块查找(1)算法简介
来源:互联网 发布:企业免费记账软件 编辑:程序博客网 时间:2024/05/22 06:08
1.算法前提:
整个序列未必有序,但划分为若干块后,后面一块的最小值必大于前面一块的最大值(一般我们把它分为sqrt(n)块),我们称这样的序列叫:分块有序
2.算法构造:
下面我们将以分块有序序列(3 1 2 ) (6 4 5) (7 9 8)为例简介过程:
①分块:首先分为3(sqrt(9))块(3 1 2),(6 4 5),(7 9 8)
②建立索引表:找到每一块中的最大值3,6,9;以及最大值分别对应的下标0,3,7
③顺序查找或二分查找:例如我们要查找的值是key = 5,那我们可知3 < key < 6,可知key位于第二块
④由③再进行顺序查找(6,4,5)序列,从而得到key = 5位于第二块,下标为5
3.算法分析:
前面的过程可知:
算法必先分块有序,才能建立算法,而现实中的序列往往是无序的,所以为了提高查找的效率,请继续学习静态查找
4.即学即画:
给一个测试用例,请在纸上画出过程,并好好理解
test0:
(22 12 13 8 9 20) (33 42 44 38 24 48) (60 58 74 43 86 53)
阅读全文
0 0
- 数据结构-查找-分块查找(1)算法简介
- 查找算法-分块算法
- [转载]查找算法----分块查找
- 分块查找算法
- 分块查找算法
- 验证分块查找算法
- 验证分块查找算法
- 验证分块查找算法
- 验证分块查找算法
- 【验证分块查找算法】
- 分块查找算法 (php)
- 2015年大二上-数据结构-查找-1-(2)-分块查找
- 项目 1 - 验证算法之分块查找
- 【数据结构】静态查找之分块查找
- 折半查找算法 和 分块查找算法
- 第14周SHH数据结构-【项目1-(2)验证分块查找算法】
- 查找算法:顺序查找、二分查找、分块查找
- 查找算法之分块查找法
- Angular4上传文件中ng2-file-upload控件
- 简单的对称加密(有借鉴)
- php实现上传图片到数据库
- iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转
- 交叉熵—代价函数
- 数据结构-查找-分块查找(1)算法简介
- Node.js调用cmd输出中文乱码
- 谈谈java的代理模式认识 三————CGLIB代理
- C语言堆栈之顺序栈
- Python-matplotlib学习
- python中特殊整数(交互式中)
- iOS编程修改系统音量
- WebSocket
- RDD实现详解