数据结构--顺序查找

一、算法思想

  顺序查找,也叫“线性查找”,通常用于线性表(顺序表和链式)。

  算法思想:从头到尾挨个查找。

二、算法实现

  通过for循环,从数组开头依次向后查找,同时要注意循环不能越界,查找成功,返回下标元素。查找失败则返回-1.

  哨兵模式:

  就是将数组第一个位置空出来放入要查找的元素。这时候数组长度和数组下标对应,再利用循环从最后一个数组元素进行查找对比,与第一个元素相同则查找成功。若查找失败则返回0 ,也就是该元素自己的数组下标。

  优点:在循环中只需要判断一次被查找元素是否相同,无需判断越界,效率更高。

  查找效率分析:  ASL成功 = (n+1)/2      ASL失败 = n+1。  

  时间复杂度为: O(n)

三、算法优化

  1.当查找表中元素有序排放时(递增/递减),查找时只需要多查找一次就可以判断出该元素存不存在。  ASL失败 = n/2 + n/ (n+1).

  注意:查找失败的情况!=最多查找这么多次。

  2.当每个元素被查找的概率不相等时,可以将被查找概率大的放在靠前的位置。

总结:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值