利用二分法查找和顺序查找元素5的索引,列表sa=[6,4,23,0,5,-2,9,0,1,-9],
二分法查找
:left、right 相当于左指针、右指针,middle代表元素的指针
利用二分法之前,要判断是否左指针小于等于右指针,“是”才可查找,首先,借助middle指针来判断元素在左区还是右区,左区middle减一,右区middle加一,以此类推,“否”则无法运用二分法,
顺序查找:
方法一借助index来实现
方法二借助for遍历和if语句判断来执行
两者区别:
二分法查找:
- 二分法查找比顺序查找速度快;
- 二分法是根据左、右指针与中指针比大小,来决定中指针变为左指针还是右指针;
- 二分法查找前,最好一次升序或降序;
顺序查找:
- 顺序查找比二分法查找慢,但反而细心,因为它是从第一开始比较知道查找到停止;
共性:
- 查找前,必须知道将要查找的“值”;
- 查找目的是该“值”在列表中所在的位置;
注:数据量越大,越能体现出二分法的快速性;相反数据量小的话,两者都可以使用。
总结:
二分法查找(别称:对分查找或折半查找),顺序查找的要求,必须
知道
要查找的数值,然后在相应的列表中查找
其
在该列表所在的
位置
(下标)。
版权声明:本文为weixin_45527702原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。