本章問題:什麼是演算法?為什麼研究演算法?演算法作用是什麼?
演算法:輸入轉換成輸出,計算過程,計算步驟的序列。求解計算問題的工具。
問題例項:一組計算必需的輸入。
對每個輸入都正確輸出——演算法正確——解決問題。
不正確演算法——不停機/以不正確回答停機。控制錯誤率可能也有用。
必須精確描述。
解決的問題:無處不在。特徵:
1.許多候選解,但都沒有解決問題;
2.實際應用。
資料結構:儲存、組織資料的方式,便於訪問和修改。不同資料結構的優勢和侷限。
演算法設計技術。//「魚」與「漁」。
難題:np完全。特點:
1.不知道是否存在有效演算法;
2.乙個存在有效演算法則所有都存在——互相聯絡;
3.類似於已知演算法的問題。
證明np完全——開發給出乙個「好」(不是「最好」)的解的演算法。
並行性:單一晶元的多台順序計算機。
研究演算法的理由:正確、時間、空間——有限資源。
設計帶來顯著的的效率差別,可能比硬體軟體造成的更重要。隨著問題規模增大而優勢增大。
系統效能依賴於演算法技術:
1.應用需要演算法內容;
2.應用對演算法的依賴:硬體、圖形使用者介面、網路、編譯/解釋/彙編;
3.問題規模大時效率差別更顯著。
讀書筆記 演算法導論
第2章演算法入門 浮於表面不如深入其中,送給自己,自己是最大的敵人,那麼就盡最大努力去克服自己,沉思,冷靜,不浮躁!勘誤 在演算法導論第9頁,扼要的扼 內容提要 1 偽 的表示方法 2 插入排序演算法分析 3 迴圈不變式 4 演算法設計之分治法 divide and conquer 5 合併排序演算...
演算法導論 讀書筆記2010 12 6
演算法就是一系列的計算步驟,用來將輸入資料轉換為輸出結果。資料結構師儲存和組織資料的一種方式,以便於對資料進行訪問和修改。插入排序演算法,對n個資料項的時間大約是c1n 2,其中c1是乙個不依賴於n的常量。亦即該演算法所需的時間大致與n 2成正比。合併排序演算法,排序n個資料項的時間大約是c2log...
《演算法導論》讀書筆記(一)
理解 輸入到輸出的計算過程稱為演算法。1.演算法描述 2.證明演算法正確性 3.分析演算法效率 兩個例子 1.插入排序 思想 從未排序的序列中取出乙個元素,將其插入到已排序序列的正確位置。實現 include include using namespace std int main for int ...