算法-部分概念

分治法
基本思想是將一個規模為n的問題分解為k個規模較小的子問題,這些子問題互相獨立且與原問題相同,從分治法的一般模式來看,用它設計出的程序一般是一個遞歸算法
動態規劃
基本思想是將待求解問題分解成若干個子問題,求解子問題,然後得到問題的解,與分治法不同的是,動態規劃分解後的問題往往不是互相獨立的
基本步驟:
a.找出最優解得性質,並刻畫其結構特徵
b.遞歸定義最優解
c.以自底向上的方式計算最優解
d.根據最優解的信息,得到一個最優解的方案
貪婪法
通過一系列的選擇來得到一個問題的解,它所做的每一個選擇都是當前狀態下最好的選擇,貪婪選擇可以依賴於以往做出的決定,但不依賴於將來所做的選擇,也不依賴於子問題的解,這是它與動態規劃的最大區別,對於一個具體問題,要確定它是否具有貪婪選擇性質,必須證明每一步所作的貪婪選擇最終導致問題的一個整體最優解
回溯法
在包含問題解的所有解空間樹中,採用深度優先的策略進行
步驟:
a.針對問題,定義解空間 
b.確定易於搜索的解空間結構
c.以深度優先進行處理
d.一般回溯法總是和遞歸有密切的聯係
分支限界
類似於回溯法,但是求解目標不同,分支限界法以廣度優先或最小耗費優先的方式搜索解空間樹,此方法的關鍵在於找到合適的剪枝條件


----------------------------------------華麗的分割線----------------------------------------


一句話說明架構是什麼?
架構就是…代碼的組織方式。


要如何規劃設計模塊,並組織這些模塊,使其成爲「好的架構」,滿足大格局的目標?
第一步是切割出足夠細粒度的模塊,用正確的方法連結起來。


----------------------------------------華麗的分割線----------------------------------------


人生的三大悲哀:
遇良師不學,遇良友不交,遇良機不握。
三大遺憾:
不會選擇,不堅持選擇,不斷地選擇。
三不鬥:
不與君子鬥名,不與小人鬥利,不與天地鬥巧。
三修練:
看得透想得開,拿得起放得下,立得正行得穩。

----------------------------------------華麗的分割線----------------------------------------


中國IT認證實驗室:
http://www.chinaitlab.com
源碼網:
www.codepub.com
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章