ACM菜鳥入門學習指南(三)--分治算法
學習目的:掌握分治算法思想
學習要求:熟練運用分治算法思想解決以下問題
1.二叉查找算法
2.查找最大最小值
3.歸并排序
4.快速排序
5.選擇第k小元素
6.大整數乘法
分治算法簡介
分治算法也叫分治策略,把輸入分為若干個部分,遞歸的解每一個問題,最后將這些子問題合并成為一個全局解。如果子問題較大,可以再次使用分治策略。
由此可以得到分治策略解決的問題特點:
1.該問題的規模縮小到一定的程度就可以容易地解決;
2.該問題可以分解為若干個規模較小的相同問題;
3.分解出的子問題的解可以合并為原問題的解;
4.分解出的各個子問題是相互獨立的。
大家已經看到劃分出的自問題與原問題是一樣的,那么我們設計算法的時候也就可以利用遞歸的編程技巧了!
不想打字了,直接把PPT上傳了http://m.shnenglu.com/Files/Geek/Divd.rar (PPT中包含以上各個問題的分析很算法的代碼)
posted on 2009-12-04 21:08 Geek.tan 閱讀(2606) 評論(2) 編輯 收藏 引用 所屬分類: 算法學習