資料(data):它是資訊的載體,它能夠被計算機識別、儲存和加工處理。它是電腦程式加工的「原料」。
(它是人們利用文字元號、數字符號一家其他規定的符號對現實世界的事物及其活動所做的描述。)
資料元素(data element)是資料的基本單位。
有些情況下,資料元素也稱為元素、結點、頂點、記錄。
乙個資料元素可以有若干個資料項(也可稱為字段、域、屬性)組成。
資料項是具有獨立含義的最小標識單位。
資料結構(data structure):指的是資料之間的相互關係,即資料的組織形式,
(資料結構是由某一元素集合及該集合所有資料元素之間的關係組成)
包括三個方面的內容
1.資料的邏輯結構:資料元素之間的邏輯關係
分類:線性結構,非線性結構
2.資料的儲存結構:資料元素及其關係在計算機儲存器內的表示
四種基本儲存方法:順序儲存,鏈式儲存,索引儲存,雜湊儲存
3.對資料所施加的操作。
資料處理
資料處理之對資料進行查詢、插入、刪除、合併、排序、統計以及簡單計算等的操作過程。
資料型別
資料型別是一組性質相同的值的集合,以及定義於這個值結合上的一組操作的總稱。
演算法
簡單的說就是解決特定問題的方法。數值演算法(解決數值問題的演算法)反之非數值演算法
數值演算法:算術運算,非數值演算法:比較和邏輯運算
演算法的5個特點:有窮性、確定性、輸入、輸出、可行性。
演算法的描述
乙個演算法可以用自然語言、數學語言或約定的符號來描述,也可以用計算機高階程式語言來描述(pascal、c)
下面是一錯誤處理函式:
#include //其中有exit的說明#include //其中有標準錯誤stderr的說明
void error(char * message)
顯然,選用的演算法首先應該是「正確的」。此外考慮如下三點:
1.執行演算法所耗費的時間;
2.執行演算法所耗費的儲存空間,其中主要考慮輔助儲存空間;
3.演算法應易於理解,易於編碼,易於除錯。
exp1:求兩個n階方陣的乘積c=a x b演算法如下
複雜度t(n)=2n³+3n²+2n+1 limt(n)/n³=2;
#define n 100
void matrixmultiply(int a[n][n],int b[n][n],int c[n][n])
}t(n)=2n3+3n2+2n+1
lim(t(n)/ n3)=2
t(n)=o(n3)
例4:(1)
(2)for (i=1;i<=n;++i)
(3)for (j=1;j<=n;++j)
(4)for (k=1;k<=n;k++)
(5)i=1; while(i<=n) i=i*2;執行次數f(n)與n的關係是n=2^f(n)
含基本操作「x增1,即語句++x」的語句的頻度分別為1,n,n2和log2n
常見的時間複雜度,按數量級遞增排列依次為:常數階o(1),對數階0(log2n),線性階o(n),線性對數階0(nlog2n),平方階o(n2),立方階0(n3),指數階o(2n)。通常認為,具有指數階量級的演算法是實際不可計算的,而量級低於平方階的演算法是高效的。
資料結構 基本概念和術語
第一章 緒論 1.1 什麼是資料結構 資料結構研究的主要內容 資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科。1.2 基本概念和術語 資料 data 所有能被輸入到計算機中,且被計算機處理的符號的集合是計算機操作對 象的總稱。資料元素 data elem...
資料結構 基本概念和術語
第一章 緒論 1.1 什麼是資料結構 資料結構研究的主要內容 資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科。1.2 基本概念和術語 資料 data 所有能被輸入到計算機中,且被計算機處理的符號的集合是計算機操作對 象的總稱。資料元素 data elem...
資料結構基本概念和術語
第一章 緒論 1.1 什麼是資料結構 資料結構研究的主要內容 資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科。1.2 基本概念和術語 資料 data 所有能被輸入到計算機中,且被計算機處理的符號的集合是計算機操作對 象的總稱。資料元素 data elem...