python使用分治法找序列最大值

时间:2023-03-10 03:00:36
python使用分治法找序列最大值

最近上算法导论课,说道分治法,回来想用python写写程序练练手,于是模仿一通写了如下的代码:

__author__ = 'day'

def ArrayMaxMin(Array):
return max(Array)
def Sort(init_Array):
if len(init_Array) <= 2:
print (ArrayMaxMin(init_Array))
else:
init_Array=[init_Array[i:i+2] for i in range(0,len(init_Array),2)]
max_init_Array=[]
for Array in init_Array:
max_init_Array.append(ArrayMaxMin(Array))
Sort(max_init_Array) if __name__ == '__main__':
Array = [2,5,5,3,6,37,7,8]
Sort(Array)

方法实现了,可是现在问题来了。直接用max内建函数不是直接就解决问题了吗,为什么要使用分治法呢??