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