第一章 演算法複雜性
1.演算法 vs 程式
輸入、輸出、確定性
演算法具有:有限性(在有限時間內執行完畢)
2.演算法複雜性c
c = f(n,i,a)
n:問題規模
i:演算法的輸入
a:演算法本身
時間複雜度:t=t(n,i)
空間複雜度:s=s(n,i)
3.演算法複雜度的三種評判標準
a. 最好情況:很多演算法的最好情況都差不多
b. 平均情況:較好,但較複雜
c. 最壞情況:操作性最好且最具有實用價值
4.三種漸近意義下的符號
a. o 上界,數量級大於或等於
b. ω 下界,數量級小於或等於
c. θ 同個數量級
評判演算法複雜度一般選擇 o
5.最常見的多項式時間演算法的漸近時間複雜度
o(1)<o(log n)<o(n)<o(nlog n)<o(n**2)<o(n**3)
6.最常見的指數時間演算法的漸近時間複雜度
o(2**n)<o(n!)<o(n**n)
7.三種漸近符號的運算規則
演算法的優劣對程式執行效率有著很大的影響
演算法知識點整理 第6章 分支限界法
第 6 章 分支限界法 1.分支限界 vs 回溯 回溯 求出滿足問題的所有解,深度優先 分支限界 求出滿足問題的乙個解 或者是找出問題中的乙個最優解 廣度優先 都要先定 空間結構 兩者對當前擴充套件節點所採取的擴充套件方式不同。2.分支限界法常見方式 佇列式分支限界法 fifo 優先佇列式分支限界法...
優化演算法知識點整理
幾種優化演算法,梯度下降的種類 考慮無約束優化問題 minxf x minxf x 梯度下降 梯度下降法是一種常用的一階優化方法,是求解無約束優化問題最簡單 最經典的方法之一。其中,f x 連續可微。若能構造乙個序列x0,x1,x2,x0,x1,x2,滿足 f xt 1 根據泰勒一階展開 f x x...
C primer第4版第1章知識點整理
talk is cheap,show me the code.std endl是乙個操縱符 manupulator 有兩個作用,乙個是輸出換行效果,另乙個是重新整理與裝置關聯的緩衝區 buffer 重新整理與裝置關聯的緩衝區能夠讓流中的內容立即輸出顯示在裝置中。std cout的兩個輸出操縱符 之間...