小結:第二章主要內容是遞迴與分治思想。遞迴演算法是乙個直接或間接地呼叫自己的演算法。有典型的遞迴例子:階乘函式、斐波那契數列還有漢諾塔等。遞迴演算法的優點是結構清晰,可讀性強,缺點是執行效率低,耗費的計算時間和占用的儲存空間都比非遞迴演算法要多。而分治法的基本思想是將要求解的較大規模的問題分割成k個更小規模的子問題,然後對這
k個子問題分別求解,分而治之。分治法分為三階段:劃分子問題、求解各子問題、合併子問題的解。有典型的分治法例子:最大連續子段和、歸併排序還有快速排序等。
在後面的兩次結對程式設計中,一開始是不習慣的,但是這其實是乙個互相交流自己想法的過程,讓我對自己和別人的程式設計能力有了進一步認識。
第二章 演算法
本章內容了解即可。如果大家對資料結構完全不了解,我建議你先去看一下b站上郝斌老師的課程。演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的優先序列,並且每條指令表示乙個或多個操作。只聽資料結構課程,當然可以,但是聽完後你可能沒有什麼感覺,因為你不知道他是幹嘛的。但是如果配合演算法來講解,你就...
第二章 演算法
一 演算法定義 二 演算法的時間複雜度與空間複雜度 1.定義 演算法是解決待定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。2.演算法的特性 演算法有五個基本特性 輸入 輸出 有窮性 確定性和可行性。演算法在一定條件下,只有一條執行路徑,相同的輸入只能有唯一的輸...
第二章 演算法基礎
引言 演算法導論 在本章將向我們介紹乙個演算法設計和分析框架,在後續的章節也將在這個框架的基礎上來分許演算法。名詞解釋 1 偽 偽 就是以最清晰 最簡潔的表示方法來說明演算法,而忽略資料抽象 模組性和錯誤處理的問題 2 迴圈不變式 每次迴圈從陣列a中取出第j個元素插入有序數列a 1 j 1 然後遞增...