什么是分治算法
分治算法就是一个规模为n的问题,拆分成k个比n规模小的小问题,利用递归的方式进行解决,最后再将所有的小问题合并返回到原问题的解。
分治算法可以解决哪些问题
1.二分查找,2.大整数乘法,3.Strassen矩阵乘法,4.棋盘覆盖,5.合并排序,6.快速排序,7.线性时间选择,8.最接近点对问题,9.循环赛日程表,10.汉诺塔等
分治算法案例,求最大子数组问题。
解法1暴力求解
这里的解法使用了三个for循环。
解法2分治法
我个人理解分治法就跟切菜差不多,需要在菜中间切开,然后再一起切碎,不同的是,菜只需要切一次就够了,而分治法则是每次都切中间。
这里是有hi地区,一位独立游戏业余开发者