查找——简单顺序查找
来源:互联网 发布:sql select * where 编辑:程序博客网 时间:2024/06/05 06:20
基本思想
从顺序表的一端开始扫描,将给定值K依次与顺序表中各数据元素的关键字进行比较,若当前扫描到的结点关键字与给定值K相等,则查找成功;若扫描结束后,仍未找到关键字等于K的结点,则查找失败。
实例分析
在顺序表:22,34,25,12,35,67,7,45中查找25的位置。在数组元素的1~8位置中依次存放组成顺序表的数据元素,将给定值K作为新数据元素的数据项存放在0位置(称其为监视哨)。查找操作从顺序表的最后一个元素开始,依次将r[8]~r[1]的关键字依次与给定值K比较。最后输出位置i,若i>0时,表示查找成功,i=0时表示查找失败。
分析图如下:
代码实现
int SeqSearch(List L,int key){ L.r[0]=key; int i=L.length; while(L.r[i]!=key)--i; return i;}注意,将r[0]置为key的好处是,防止下标越界,节省重新比较的时间。
性能分析
假设顺序表的长度为n,那么查找第i个元素时需要进行n+1-i次比较,即Ci=n+1-i。又假设查找每个数据元素的概率相等,则Pi=1/n,则顺序查找算法的平均查找长度为:注:平均查找长度中Pi为查找顺序表中第i个元素的概率,Ci为找到关键字等于给定值K时已经进行比较过的次数。
由上可知,最大查找长度和平均长度与的算法时间复杂度均为O(n)。- 查找——简单顺序查找
- 查找——顺序查找
- 查找——顺序查找
- 【查找--静态查找】简单的顺序查找
- 查找算法——顺序查找
- 静态查找——顺序查找、折半查找
- 【查找算法】——顺序查找、折半查找、分块查找(索引查找)
- 数据结构——顺序查找
- 最简单的顺序查找
- 顺序查找及简单优化
- 几种查找算法总结与比较—顺序查找、有序查找、散列表查找
- 查找算法系列之简单查找:顺序查找、二分查找、分块查找
- PHP数据结构——二分查找与顺序查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- 第三周作业——顺序查找和二分查找
- linux文件系统的管理
- const 与 #define的区别
- 困难的串-回溯法
- response.sendRedirect() 的session丢失问题
- 飞秋2012官方下载 大家去下吧!
- 查找——简单顺序查找
- java数学函数
- JAVA 接口1
- 编程语言发展历史
- 23种设计模式
- [C语言]C总结
- [ffmpeg]Linux 安装FFmpeg
- it工程师常用英文自我介绍常用用语
- 小巫随笔2