数据结构和算法基础Python语言实现,python常用的数据结构与算法
对python这种高级语言感兴趣的伙伴,可以和编程之家jb51.cc的编辑打一巴掌
二分法检索简介
二分搜索法也被称为二分搜索法。二分搜索法的基本思想是将元素按照字典中从小到大的顺序存储在一个数组中。
首先,将给定的关键字与字典中间元素的关键字进行比较,如果相等,则检索成功;
否则,关键时刻,字典里继续二分搜索法的前半部分;
如果关键字很大,二分搜索法将继续出现在字典的后半部分。
这样,在一次比较之后,搜索间隔将减少一半,并且这将一直进行到搜索成功或失败。
偶数取中间两个中的任意一个作为中间元素。
二分法检索是一种高效的检索方法,需要按照顺序表中的键码顺序对词典进行排序。
代码示例:
# @param二分法搜索简介和示例详细信息
# @作者编程温室jb51.ccjb51.cc
#!/usr/bin/env python
进口系统
干草堆(针):
低=0
高=Len(干草堆)- 1
wile(低=高) :
Mid=(低-高)/2
midval=haystack[mid]
如果中间阀针:
低=中1
elif中段针:
高=中间1
否则:
打印mid
返回到mid
1份印刷品
返回-1
if __name__==__main__ :
haystack=[int(I)for iinlist(sys . argv[1]]
(Needle=int(sys.argv[2]))))))))))))).
二分搜索法(堆栈,新))。
# End www.jb51.cc
执行:
python @ 512 pic:~ $ python binarysearch . py 123456789
三
# End www.jb51.cc
备注:
1._ _ :Python的所有类成员都是公开发布和可访问的,所以缺少像正统面向对象语言那样的专用私有属性。
所以用_ _耐心来模拟私有属性。这些_ _属性通常在内部使用,并且通常不能被覆盖。没必要看书。
下划线的目的不是重复一般的公共属性,也不是让对象用户(非开发者)自由使用。
2.__name__==__main__ 表示程序脚本已经直接执行。
如果不等于,则意味着该脚本是由其他程序在import中引入的。它的__name__属性被设置为模块名。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。