分治法的主要思想就是,将一个规模为N的问题,将他分解为多个规模小于N的子问题,逐个的解决这些子问题,然后将这些子问题的解合并起来,构成原问题的解。
分治法的步骤:
1.分:将原问题分解为多个子问题,这些子问题是可以独立求解的子问题,并且分解得到的解和原问题的解有着相同的结构,便于使用递归和循环机制。
2.解:求解这些子问题的解
3.治:将子问题的解合并起来形成原问题的解。
类型1:典型二分法
问题1:
有一个老板有一袋金块。每个月将有两名雇员会因其优异的表现分别被奖励一个金块。按规矩,排名第一的雇员将得到袋中最重的金块,排名第二的雇员将得到袋中最轻的金块。根据这种方式,除非有新的金块加入袋中,否则第一名雇员所得到的金块总是比第二名雇员所得到的金块重。如果有新的金块周期性的加入袋中,则每个月都必须找出最轻和最重的金块。假设有一台比较重量的仪器,我们希望用最少的比较次数找出最轻和最重的金块。
解:这个问题不用分治法也能解决。这