一、數據、數據元素、數據對象、數據結構的定義
1、數據的定義
定義一:數據是客觀事物的符號表示。
學號 姓名 語文 數學 C語言
6201001 張三 85 54 92
6201002 李四 92 84 64
6201003 王五 87 74 73
6201004
...
例:張三的C語言考試成績為92分,92就是該同學的成績數據。
定義二:能輸入到計算機中並被計算機程序處理的符號的總稱。
例:圖像、聲音等。
總結:現實世界信息的分析、復制、傳播首先要符號化,這樣才便於處理,尤其是便於計算機的處理。家長、社會要了解一個學生的學習成績和能力,要看他的學習檔案,而學習檔案即是說明該學生學習情況的數據。
2、數據元素、數據項
數據元素是數據的基本單位,它也可以再由不可分割的數據項組成。如圖示:
3、數據對象
是性質相同的數據元素的集合。如上例:一個班級的成績表可以看作一個數據對象。
4、數據結構
定義一、數據元素集合(也可稱數據對象)中各元素的關系。
定義二、相互之間存在特定關系的數據元素集合。
數據結構的種類:
特征 示例
集合 元素間為松散的關系
線性結構 元素間為嚴格的一對一關系 如上面的成績表中各元素
樹形結構 元素間為嚴格的一對多關系
圖狀結構(或網狀結構) 元素間為多對多關系
數據結構的形式定義:
數據結構名稱=(D,S)
其中D為數據元素的有限集,S是D上關系的有限集
邏輯結構 “數據結構”定義中的“關系”指數據間的邏輯關系,故也稱數據結構為邏輯結構。
存儲結構 數據結構在計算機中的表示稱為物理結構。又稱存儲結構。
順序存儲結構
鏈式存儲結構
存儲結構詳解:
計算機中存儲信息的最小單位:位,8位為一字節,兩個字節為一字,字節、字或更多的二進制位可稱為位串。在邏輯描述中,把位串稱為元素或結點。
當數據元素由若干數據項組成時,位串中對應於各個數據項的子位串稱為數據域(Data FIEld)。
例:上述成績表數據用C語言的結構體數組classonestu[50]來存儲:
struct stu {
int stuno;/*數據項,也稱stu位串中的一個子位串,或叫做數據域*/
char name[20];
int maths;
int language;
int c_language;
} classonestu[50];
二、數據類型
1、定義:數據類型是一個值的集合和定義在這個值集上的一組操作的總稱。
例:C語言中的整型,其內涵為一定范圍的自然數集合,及定義在該集合上的加減乘除及取模、比較大小操作。而實型則無取模操作。當然整型也不需四捨五入。
2、數據類型的種類:
特征 例
原子類型 值在邏輯上不可分解 int float
結構類型 值由若干成分按某種結構組成 struct stu
數據類型封裝了數據存儲與操作的具體細節。
三、總結
數據->數據元素
具有特定關系的數據元素集合->數據結構
數據結構的邏輯表示與物理存儲->邏輯結構與存儲結構
人們不僅關心數據的邏輯結構、存儲結構,還關心數據的處理方法(算法)與處理結果->數據類型
數據類型->分類