python分治

来源:互联网 发布:恒大社会招聘网络面试 编辑:程序博客网 时间:2024/05/29 15:17

缘由

一月份的时候在某本书上看到google的map reduce,那个作者为了举例还现场教学怎么租服务器blabla,看完之后只有一个感觉,map reduce就是一个分治嘛。

分治

  • 题目:找list最大值
  • 方法:递归得将问题分解
#encoding=utf-8def solve(nlist):    if len(nlist) <= 2:                                 print max(nlist)    else:        nlist=[nlist[i:i+2] for i in range(0,len(nlist),2)] #一分为二        max_init_list = []                                    for _list in nlist:                                          max_init_list.append(max(_list))        solve(max_init_list)if __name__ == "__main__":    nlist = [3,4,5,6,7,1,2,8]    solve(nlist)

分治经典问题

(1)二分搜索
(2)大整数乘法
(3)Strassen矩阵乘法
(4)棋盘覆盖
(5)合并排序
(6)快速排序
(7)线性时间选择
(8)最接近点对问题
(9)循环赛日程表
(10)汉诺塔

0 0