資料結構的基本概念和術語,演算法的時間複雜度

2021-10-04 15:12:57 字數 1668 閱讀 9973

1.資料: 也就是符號,但是這些符號必需具備兩個前提:能輸入到計算機中且能被計算機處理。比如整型,實型,聲音,影象等。

2.資料元素:就是組成資料的基本單位。就是比如動物類的資料元素就有貓,狗等等。

3.資料項:乙個資料元素可以由多個資料項組成。比如:人都有年齡,身高,體重等資料項。**資料項是資料的最小單位。**

4.資料物件:就是性質相同的資料元素的集合。

1.邏輯結構:就是資料物件中資料元素之間的關係。

(1)集合結構:集合結構就是除了同屬於同乙個集合外,他們之間沒有別的關係。

例如:

typedef

struct person

user;

這個結構體中姓名,身高,年齡就是集合結構。

(2)線性結構 資料元素是一對一的關係

(3)樹形結構 資料元素是一種對多層的關係,這個就不用舉例了吧,就是樹嘛,都懂的。

(4)圖形結構 資料元素是多對多的關係。

2.物理結構 簡單的說就是如何把資料元素存到計算機的儲存器中。

演算法的時間複雜度就是演算法的時間量度,記作:**t(n)=of(n)**其中n是問題規模n的某個函式

推導大o階的方法: (1)用常數取代執行時間中所有的加法常數。

(2)在執行次數的函式中,只保留最高項。

(3)如果最高項存在且不是1,則去除與這個項相乘的常數。

1,常數階執行恆定的演算法,我們稱為具有o(1)的時間複雜度,即為常數階。 例:

int sum =

1,n =

100;

//執行一次 ``

sum =(1

+n)*n/2;

//執行一次

5>2.線性階要確定某個演算法的階次,需要確定某個特定語句或某個語句集執行的次數。因此,要分析演算法的複雜度,關鍵就是要分析迴圈結構的運**況。

int sum=0;

for(

int i=

0;i)

這段**的複雜度為o(n);

對數階:

int count=1;

while

(count

當count的每次迴圈不斷增大,最後當count大於等於n的時候跳出迴圈,用x表示迴圈次數,得到2^x=n; 則:x=log₂n,即f(n) = log₂n,因此得出這個演算法的時間複雜度為o(log2n)。

4,平方階: 迴圈的時間複雜度等於迴圈體的複雜度乘以該迴圈執行的次數。

例:內層迴圈的時間複雜度為o(n),外層為o(n),則總的時間複雜度為o(n²)。

for

(int i=

0;i)}

常見的時間複雜度:

常用的時間複雜度所耗費的時間為:

資料結構的基本概念和術語

本課主題 資料結構的基本概念和術語 教學目的 了解資料結構的基本概念,理解常用術語 教學重點 基本概念 資料與資料元素 教學難點 資料元素間的四種結構關係。授課內容 一 資料 資料元素 資料物件 資料結構的定義 1 資料的定義 定義一 資料是客觀事物的符號表示。學號姓名 語文數學 c語言620100...

資料結構的基本概念和術語

本課主題 資料結構的基本概念和術語 教學目的 了解資料結構的基本概念,理解常用術語 教學重點 基本概念 資料與資料元素 教學難點 資料元素間的四種結構關係。授課內容 一 資料 資料元素 資料物件 資料結構的定義 1 資料的定義 定義一 資料是客觀事物的符號表示。學號姓名 語文數學 c語言620100...

資料結構的基本概念和術語

1.1什麼是資料結構 計算機解決乙個問題的步驟 從具體的問題中抽象出適當的數學模型 設計乙個解決此數學模型的演算法 編出程式 進行測試 調整直至得到最終解答。資料結構是研究什麼的 資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科。例1 如何在書架上擺放圖書...