Python中怎么利用二分法实现冒泡算法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
冒泡算法:
#-*- coding: UTF-8 -*-
#冒泡排序
def func(lt):
if type(lt).__name__ !='list' and type(lt).__name__ !='tuple':
return
if type(lt).__name__ == 'tuple':
return list(lt)
for i in range(1,len(lt)-1):
for j in range(1,len(lt)-i):
if lt[j] > lt[j+1]:
lt[j],lt[j+1] = lt[j+1],lt[j]
return lt
lt_01 = [2,34,5,14,7,28]
print func(lt_01)
=================================================
二分法:(通过函数递归调用实现)
def func(lt=[]):
if type(lt).__name__ !='list' and type(lt).__name__!='tuple':
return
if type(lt).__name__ =='tuple':
return list(lt)
if len(lt)<=1:
return lt
k = lt[0]
lt_l = []
lt_r = []
lt_m = []
for i in lt:
if i>k:
lt_r.append(i)
elif i<k:
lt_l.append(i)
else:
lt_m.append(i)
lt_l=func(lt_l)
lt_r=func(lt_r)
return lt_l + lt_m + lt_r
a = [2,4,12,6,23,16,28]
print func(a)
关于Python中怎么利用二分法实现冒泡算法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注天达云行业资讯频道了解更多相关知识。