分而治之是中国古代人的智慧。我一口吃不下你,分几口来吃。...利用该问题分解出的子问题的解可以合并为该问题的解;
第一条特征是绝大多数问题都可以满足的,因为问题的计算复杂性一般是随着问题规模的增加而增加;
第二条特征是应用分治法的前提它也是大多数问题可以满足的,此特征反映了递归思想的应用...0, 6, 3, 4, 1, 9, 8, 2]
print(merge_sort(lis)) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
三、给定一个顺序表,编写一个求出其最大值的分治算法...#O(nlogn)
#基本子算法(内置算法)
#虽然也可以处理大数组,这里用于解决分治问题规模小于2时候
def get_max(nums=list):
return max(nums)
#...12,2,23,45,67,3,2,4,45,63,24,23]
# 求最大值
print(solve(alist)) # 67
四、给定一个顺序表,判断某个元素是否在其中
#O(nlogn)
#子问题算法