資料結構—緒論
阿新 • • 發佈:2020-12-30
資料結構
1.資料,資料元素,資料項和資料物件
1.資料:
資料是客觀事物的符號表示,是所有能輸入到計算機中並被計算機程式處理的符號的總稱。
2.資料元素:
資料元素是資料的基本單位,資料元素也稱為元素和記錄。
3.資料項:
資料項是組成資料元素的,有獨立含義的,不可分割的最小單元。
4.資料物件:
資料物件是性質相同的資料元素的集合,是資料的一個子集。
例:學生基本性息表
地址 | 學號 | 姓名 | 性別 | 籍貫 | 專業 |
---|---|---|---|---|---|
0 | 060214201 | 楊陽 | 男 | 安徽 | 計算機 |
50 | 060214202 | 薛林 | 男 | 福建 | 計算機 |
100 | 060214215 | 王詩萌 | 女 | 吉林 | 計算機 |
150 | 060214216 | 馮治涵 | 女 | 山東 | 計算機 |
… | … | … | … | … | … |
資料元素:下面就是一個數據元素。而資料物件就是多個數據元素構成的集合。
50 | 060214202 | 薛林 | 男 | 福建 | 計算機 |
---|---|---|---|---|---|
如50,男等等就是一個數據項。
所以:
資料物件>資料元素>資料項
2.資料結構
資料結構是相互之間存在一種或多種特定關係的資料元素的集合
資料結構包括邏輯結構和儲存結構兩個層次。
3.抽象資料型別
一般指由使用者定義的,表示應用問題的數學模型,以及定義在這個模型上的一組操作的總稱。
集體包括三部分:資料物件,資料物件上關係的集合以及對資料物件的基本操作的集合。
定義格式:
ADT 抽象資料型別名{
資料物件:<資料物件的定義>
資料關係:<資料關係的定義>
基本操作:<基本操作的定義>
}ADT 抽象資料型別名
其中資料物件和資料關係的定義採用數學符號和自然語言描述
格式:
基本操作名(引數表)
初始條件:<初始條件描述>
操作結果<操作結果描述>
基本操作有兩種引數:
1.賦值引數
2.引用引數以"&"打頭,除可提供輸入值外,還將返回操作結果
typedef struct{
float Realpart; //實部
float Imagepart; //虛部
}Complex;
void Create(&Complex C,float x,float y){
C.Realpart=x;
C.Imagepart=y;
}
Complex Add (Complex C1,Complex C2){ //基本操作名
Complex sum;
sum.Realpart=C1.Realpart+C2.Realpart;
sum.Imagepart=C1.Imagepart+C2.Imagepart; //基本操作
return sum; //操作結果
}
Complex Sub(Complex C1,Complex C2)
...
...
4.演算法和演算法分析
1.演算法五個特性:
有窮性,確定性,可行性,零或多個輸入,一或多個輸出。
2.時間複雜度
T(n)=O(f(n))
f(n)為所有語句頻度之和。
例:
-
x=1; for(i=1;i<=n;i++) //執行n次 for(j=i;j<=i;j++) //執行i for(k=1;k<=j;k++) //執行j x++; T(n)=O(n^3) x=1; for(i=1;i<=n;i=i*2){ x++; s=0 } 2^f(n)=n T(n)=log n 以2為底
3.空間複雜度
演算法所需儲存空間的量度即對資料進行操作的輔助儲存空間。