1. 程式人生 > >“計算機演算法設計與分析”期末考點以及應試思路-D_Dan

“計算機演算法設計與分析”期末考點以及應試思路-D_Dan

申明:純屬個人觀點,僅供大家參考,最後預祝大家取得好成績
WINNER WINNER ,ALGORITHM IS FULL MARKS!

1、演算法是指解決問題的一種方法或一個過程。演算法是由若干條指令組成的有序序列。

2、演算法的性質

輸入:有零個或多個由外部提供的量作為演算法的輸入

輸出:演算法產生至少一個量作為輸出

確定性:組成演算法的每條指令是清晰的,無歧義的

有限性:演算法中每條指令的執行次數是有限的,執行每條指令的時間也是有限的

3、程式與演算法的區別:程式是演算法用某種程式設計語言的具體實現,程式可以不滿足演算法的有限性性質。

4、P3:O、Ω、θ 的含義

5、P7:1-1、1-3

6、分治法:將一個規模為n的問題分解為k個規模較小的子問題,這些子問題互相獨立且與原問題相同。遞迴的解這些子問題,然後將各子問題的解合併得到原問題的解。

7、二分演算法:在最壞的情況下時間複雜性為O(logn)

8、棋盤覆蓋:考的應該會特別簡單,不詳細說明了(如有疑問:請點這裡

9、合併排序:應該是讓大家寫出第N趟排序之後的結果

10、迴圈賽日程表:把書上的樣題看懂,有點簡單,不多說

11、動態規劃思想:動態規劃演算法與分治法類似,其基本思想也是將待求問題分解成若干個子問題,先求解子問題,然後從這些子問題的解得到原問題的解。與分治法不同的是,適合於動態規劃法求解的問題,經分解得到的子問題往往不是互相獨立的。

12、動態規劃基本要素:最優子結構性質、重疊子問題性質

13、動態規劃求解步驟:

找出最優解的性質,並刻畫出其結構性質

遞迴的定義最優值

以自底向上的方式計算出最優值

根據計算最優值時得到的資訊,構造最優解

14、最長公共子序列:會構造b陣列、c陣列(最好自己親自動手去畫一下,嘗試著自己寫出來b陣列和c陣列,倒著推回去驗證下對不對)

15、0-1揹包問題以及揹包問題現場面授具體講