
发表日期: 2021-04-23 14:48:27 浏览次数:117
沙河网站推广【沙河办理400电话】沙河SEO优化、沙河微信公众号APP客户端小程序开发、沙河网站托管、沙河APP开发
沙河 ,河北省辖县级市,邢台市代管,地处河北省西南部,太行山东麓,地势由西向东缓缓倾斜,属暖温带大陆性季风气候,截至2020年3月,辖15个乡镇办,290个行政村,总人口48万。 [1]
沙河市境内有邢台机场,京港澳高速公路和京广铁路、褡午支线从市内穿过,是承东启西、沟通南北的重要通道和支点。
沙河是邢州九县之一,历史悠久,风景秀丽,有桃花源、北武当山、秦王湖等风景名胜,还有唐代宋璟碑、清代乾隆御笔梅花赋、藤牌阵等珍贵文化遗产。
2018中国邢台·绿色太行国际公路自行车赛途经沙河市。 [2] 2018年10月22日,入选2018年全国农村一二三产业融合发展先导区创建名单。
说明
本书经常会谈到log时间,因此你必须明白对数的概念。如果你不明白,可汗学院(khanacademy.org)有一个不错的视频,把这个概念讲得很清楚。
说明
仅当列表是有序的时候,二分查找才管用。例如,电话簿中的名字是按字母顺序排列的,因此可以使用二分查找来查找名字。如果名字不是按顺序排列的,结果将如何呢?
下面来看看如何编写执行二分查找的Python代码。这里的代码示例使用了数组。如果你不熟悉数组,也不用担心,下一章就会介绍。你只需知道,可将一系列元素存储在一系列相邻的桶(bucket),即数组中。这些桶从0开始编号:第一个桶的位置为#0,第二个桶为#1,第三个桶为#2,以此类推。
函数binary_search接受一个有序数组和一个元素。如果指定的元素包含在数组中,这个函数将返回其位置。你将跟踪要在其中查找的数组部分——开始时为整个数组。
low = 0high = len(list) - 1复制代码

你每次都检查中间的元素。
mid = (low + high) / 2 ←---如果(low + high)不是偶数,Python自动将mid向下取整。guess = list[mid]复制代码
如果猜的数字小了,就相应地修改low。
if guess < item: low = mid + 1复制代码

如果猜的数字大了,就修改high。完整的代码如下。
def binary_search(list, item): low = 0 (以下2行)low和high用于跟踪要在其中查找的列表部分 high = len(list)—1 while low <= high: ←-------------只要范围没有缩小到只包含一个元素, mid = (low + high) / 2 ←-------------就检查中间的元素 guess = list[mid] if guess == item: ←-------------找到了元素 return mid if guess > item: ←-------------猜的数字大了 high = mid - 1 else: ←---------------------------猜的数字小了 low = mid + 1 return None ←--------------------没有指定的元素my_list = [1, 3, 5, 7, 9] ←------------来测试一下!print binary_search(my_list, 3) # => 1 ←--------------------别忘了索引从0开始,第二个位置的索引为1print binary_search(my_list, -1) # => None ←--------------------在Python中,None表示空,它意味着没有找到指定的元素复制代码
练习
1.1 假设有一个包含128个名字的有序列表,你要使用二分查找在其中查找一个名字,请 问最多需要几步才能找到?
1.2 上面列表的长度翻倍后,最多需要几步?

服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878