二分查找算法详解与非递归实现.pptx

数据结构与算法

Contents

二分查找-递归版本

二分查找-非递归版本

目标

TARGET

能够完成二分查找的代码实现

二分查找-递归版本

什么是二分查找

二分查找又称折半查找,它是一种效率较高的查找方法

原理:将数组分为三部分,依次是中值前,中值,中值后

将要查找的值与中值进行比较,若小于中值则在中值前面找,若大于中值则在中值后面找,等于中值时直接返回

二分查找-递归版本

二分查找过程

0

1

3

5

7

8

10

查找数字:1

start

end

mid

第一步:找到中值(取整数)

第二步:要查找的数和中值比较

第三步:若小于中值则在中值前面找,若大于中值则在中值后面找,等于中值时直接返回

二分查找-递归版本–实现

defbinary_search(alist,item):

二分查找

#数列的长度

n=len(alist)

#递归的结束条件

ifn==0:

returnFalse

#中间值下标对n进行整数

mid=n//2

ifitem==alist[mid]:

returnTrue

elifitemalist[mid]:

returnbinary_search(alist[0:mi

文档评论(0)

1亿VIP精品文档

相关文档