1. 程式人生 > 其它 >資料結構—緒論

資料結構—緒論

資料結構

1.資料,資料元素,資料項和資料物件

1.資料:

資料是客觀事物的符號表示,是所有能輸入到計算機中並被計算機程式處理的符號的總稱。

2.資料元素:

資料元素是資料的基本單位,資料元素也稱為元素和記錄。

3.資料項:

資料項是組成資料元素的,有獨立含義的,不可分割的最小單元。

4.資料物件:

資料物件是性質相同的資料元素的集合,是資料的一個子集。

例:學生基本性息表

地址學號姓名性別籍貫專業
0060214201楊陽安徽計算機
50060214202薛林福建計算機
100060214215王詩萌吉林計算機
150060214216馮治涵山東計算機

資料元素:下面就是一個數據元素。而資料物件就是多個數據元素構成的集合。

50060214202薛林福建計算機

如50,男等等就是一個數據項。

所以:

資料物件>資料元素>資料項

2.資料結構

資料結構是相互之間存在一種或多種特定關係的資料元素的集合

資料結構包括邏輯結構和儲存結構兩個層次。

image-20201226132349570

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)為所有語句頻度之和。

例:

  1. 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.空間複雜度

演算法所需儲存空間的量度即對資料進行操作的輔助儲存空間。