演算法是解決特定問題求解步驟的描述,在計算機表現為指令的有限序列,其中每條指令表現為乙個或多個操作。
序號正確性的四個層次【目前以第三層為正確的標準】
1演算法程式的語法正確
2合法的輸入可以產生滿足要求的輸出結果
3非法的輸入能夠得到滿足規格說明的結果
4對於精心選擇的測試資料也能夠有滿足要求的輸出結果
健壯性:輸入資料不合法時演算法能做出相應處理,而不是產生異常或莫名其妙的結果
高效率:執行時間越短演算法效率越高
低儲存:演算法程式執行時占用儲存空間越低越好
序號方法
說明優缺點
1事後統計方法
利用計算機的計時功能,通過對演算法程式的資料測試,來計算不同演算法的效率高低
難度大、效率低
2事前分析估算方法
在程式設計前先依據統計方法進行估算
更簡單快速有效定義
推導大o階
常見的演算法時間複雜度排序
o(1) < o(logn) < o(n) < o(nlogn) < o(n2) < o(n3) < o(2n) < o(n!) < o(nn)
演算法空間複雜度:s(o)=o(f (o) ),其中,o為問題的規模,f (o) 為語句關於n所佔儲存空間的函式。
《大話資料結構》 學習筆記2
第二章 演算法 2.2 資料結構 與 演算法的關係 簡單的說 資料結構 與 演算法 的關係 即 梁山伯 與 祝英台 的關係 把其中一方隔離出來唱獨角戲.沒意義!2.3 兩種演算法的比較 現寫乙個求1 2 3 100結果的程式,你應該怎麼寫呢?大多數人馬上寫出下面的c語言 int i,sum 0,n ...
《大話資料結構》 學習筆記1
第一章 資料結構緒論 經典 if you give someone a program you will frustrate them for a day if you teach tem how to program,you will frustrate them for a lifetim.如果...
《大話資料結構》 學習筆記5
線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。線性表 a1,a2,a3,an 的順序儲存示意圖如下 a1a2 ai 1 ai.an 線性表的順序儲存結構,說白了,就是 在記憶體中找了塊地兒,通過佔位的形式,把一定的記憶體空間給佔了,然後把相同資料型別的資料元素一次存放...