研究資料結構的目的在於更好的程式設計。而程式設計離不開資料的運算,這種運算的過程(或解題方法)通常稱為演算法。
例如:要計算機求解已知3個座標點 a(x1,x2),b(x2,y2),c(x3,y3)所構成的三角形面積。
計算三角形面積 必須先求邊長,邊長公式:
ab = √(x1-x2)² + (y1-y2)²
ac = √(x1-x3)² + (y1-y3)²
bc = √(x2-x3)² + (y2-y3)²
s = ab+ac+bc/2
三角形面積公式:
area= √s(s-ab)(a-ac)(s-bc)
有了上面的公式以後,就要給出求解的過程了,這就是所謂的演算法。
演算法描述
從上述例項來看演算法是對問題求解步驟的一種描述。通俗的說演算法就是一種解題方法。嚴格的說,演算法是由若干條指令組成的又窮序列,其中每條指令表示乙個或多個操作。演算法必須滿足以下五大準則:
1、輸入
2、輸出
3、有窮性
4、確定行
5、可行性
演算法分析
四方面考慮
1、演算法正確性。
2、時間複雜性。
3、空間複雜性。
4、可讀性和可操作性。
這裡主要學習演算法時間複雜性
演算法時間的複雜性就是:每條程式語句執行的時間之和。每條語句的執行次數與該程式語句執行一次的時間 的乘積。
演算法的描述
注 本文為學習 c語言從入門到精通 時,對部分章節的總結 人們日常使用的語言,通俗易懂,但用來描述較為複雜的演算法時,不是很方便。流程圖是一種傳統的演算法表示法,用不同的圖框代表不同性質的操作,用流程線來知識執行方向。直觀形象,易於理解。正確性食指所寫的演算法應能安祖具體問題的要求,即對任何合法的輸...
演算法設計與分析複習 分治法演算法描述
分治 劃分 解子問題 組合 每個遞迴演算法均可以轉換為迭代演算法 include include 尋找最大最小元素,最大比較次數 3 n 2 2 minmax low,high if high low 1 if arr low arr high return arr low arr high els...
統計描述分析
proc means data 資料集 class 分組變數,按變數名列分組統計,不要求排序 var 要分析的變數名 by 分組變數,按變數名列分組統計,必須排序 freq 分析變數的品書 weight 權重 id 輸出時加上的索引 output out 資料集名 關鍵字 新變數名 proc uni...