1. 程式人生 > >演算法設計與分析之遞迴與分治策略

演算法設計與分析之遞迴與分治策略

 分治法:

     將一個難以直接解決的大問題,分割成一些規模較小的相同問題,以便各個擊破,分而治之。
 (1)可行性:如果原問題可分割成k個子問題(1<k<=n),且這些子問題都可解,並可利用這些子問題的解求出原問題的解,那麼分治法就是可行的。
 (2)分治法與遞迴的關係:由於分治法產生的子問題往往是原問題的較小模式,這就為遞迴方法的使用提供了方便,可以使子問題與原問題型別一致而其規模不斷縮小,從而引出遞迴演算法。 

 遞迴:
    
直接或間接地呼叫自身的演算法稱為遞迴演算法