首页 > 代码库 > 使用python实现二分法
使用python实现二分法
def
f1(src_list,find_n):
if
find_n > src_list[
-
1
]:
#判断find_n是否大于最大值,如果大于则直接返回
s
=
"%s is not finded"
%
(find_n)
print
(s)
return
False
if
find_n < src_list[
0
]:
#判断find_n是否小于最小值,如果小于则直接返回
s
=
"%s is not finded"
%
(find_n)
print
(s)
return
False
else
:
#只有find_n在最大值和最小值之间,才进入函数
mid
=
int
(
len
(src_list)
/
2
)
if
len
(src_list) >
1
:
if
src_list[mid] > find_n:
print
(
"%s in left"
%
(find_n))
mid_list
=
src_list[
0
:mid]
f1(mid_list,find_n)
elif
src_list[mid] < find_n:
print
(
"%s in right"
%
(find_n))
mid_list
=
src_list[mid:]
f1(mid_list,find_n)
else
:
print
(
"%s is finded"
%
(find_n))
return
True
if
len
(src_list)
=
=
1
:
if
src_list[
0
]
=
=
find_n:
s
=
"%s is finded"
%
(find_n)
print
(s)
return
True
else
:
s
=
"%s is not finded"
%
(find_n)
print
(s)
return
False
data
=
list
(
range
(
0
,
10
,
3
))
f1(data,
-
1
)
使用python实现二分法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。