什么是數據結構
簡單來說,數據結構是一門研究非數值計算的程序設計問題中計算機的操作對象以及它們之間的關系和操作等的學科。
基本概念和術語
數據(data):對客觀事物的符號表示,在計算機科學中是指所有能輸入到計算機中并被計算機程序處理的符號的總稱。對于計算機科學而言,數據的含義極為廣泛,如圖像、聲音等都可以通過編碼而歸之于數據的范疇。
數據元素(data element):數據的基本組成單位,在計算機程序中通常作為一個整體進行考慮和處理。一個數據元素又由若干個數據項(data item)組成,數據項是數據最小組成單位。
數據對象(data object):性質相同的數據元素的集合,一個數據的子集。例如:整數數據對象(所有整數(數據元素)的集合),字母字符數據對象(所有字符的集合)。
數據結構(data structure):相互之間存在一種或多種特定關系的數據元素的集合。數據元素相互之間的關系稱為結構。(四種數據結構:集合、線性結構、樹形結構、圖狀(網狀)結構)
---數據結構抽象舉例:Data_Structure = (D , S) ? 其中,D是數據元素的有限集,S是數據元素之間關系的有限集。
eg:項目主管需要編一個程序來管理項目小組(無人員穿插)。項目小組由一個項目經理帶領1-3個老員工,以及每個老員工帶領1-3個新人組成。那么一個項目小組就可以看作是一個數據結構,每個員工就是數據元素。數據結構定義:(以下是從操作對象中抽象出來的數學模型)
Group = (P , R);
其中:(M:項目經理、O:老員工、N:新員工)
P = {M, O1.....Oi, N11.....Nij, 1<= i <=3 , 1<= j <=3};
R = {R1、R2};// 元素之間的邏輯關系,別稱邏輯結構
R1 = {<M ,Oi> | 1<= i <=n,1<= n <=3};
R2 = {<Oi,Nj> | 1<= i <=n,1<= n <=3,1<= j <=k,1<= k <=3};