資料結構緒論

2021-07-03 18:19:30 字數 1955 閱讀 3735

1.資料、資料元素、資料項、資料物件:

資料:是對客觀事物的符號表示,在電腦科學中是指所有能輸入到計算機中並能被電腦程式處理的符號的總稱。例如:

資料元素:資料的基本單位。

資料項:若干的資料項組成資料元素。例如:人這個資料元素有性別、年齡、身高、體重、三圍等資料項。

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

2.資料結構:

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

分類:邏輯結構、儲存結構(物理結構)。

1.,邏輯結構:資料物件中資料元素之間的相互關係。分為四種結構:集合結構、線性結構、樹形結構、網狀結構(圖形結構)。

1.集合結構:所有資料元素同屬乙個集合,元素彼此間沒有相互關係。

2.線性結構:資料元素之間是一對一的關係。

3.樹形結構:資料元素之間存在一對多的層次關係。

4.網狀結構:資料元素之間存在多對多的關係.。

2.儲存結構:是指資料元素在計算機中的儲存形式,分為順序儲存結構和鏈式儲存結構

3.資料型別

資料型別:是指乙個具有相同性質的值的集合及定義在這個集合上的操作總稱。按值的不同性質,分為原子型別和結構型別。

1.原子型別:值不可分解的基本型別,包括整型、浮點型、實型、字元型等。

2.結構型別:由若干成分按某種結構組成,可以分解。組成結構的成分可以是原子型別,也可以是結構型別。例如:結構體、陣列等。

1.演算法:是解決特定問題求解步驟的描述,在計算機中表示為指令的有限序列,並且每條指令表示乙個或多個操作。演算法有五大特性:有窮型、確定性、可行性、輸入、輸出。

1.有窮性:演算法在執行完有限的步驟之後,能夠自動結束而不陷入死迴圈,每一步驟可在有窮時間內完成。

2.確定性:演算法的每一條指令都必須有確切的含義,不會產生二義性。在任何條件下,演算法的執行途徑只有一種,對相同的輸入有相同的輸出。

3.可行性:演算法的每一步都必須是可行的,即演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現。

4.輸入:演算法有零個或多個輸入。

5.輸出:演算法有乙個或多個輸出。

2.演算法設計要求

1.正確性:演算法的正確性是指演算法至少應該具有輸入、輸出和加工處理無歧義性,能正確反映問題的需求,能夠得到問題的真正答案。

3.健壯性:當輸入資料非法時,演算法也能適當的做出反應或進行處理,而不會產生莫名奇怪的輸出結果。

4.效率與低儲存量需求:效率是指演算法執行的時間。對於同乙個問題如果有多個演算法可以解決,執行時間短的演算法效率高。儲存量需求是指演算法執行過程中所需要的最大儲存空間。

3.演算法效率的度量

2.演算法的時間量度:t(n)=o(f(n)).

它表示隨問題規模

n的增大,演算法執行時間的增長率和

f(n)的增長率相同,叫做演算法的漸進時間複雜度,簡稱時間複雜度。

3.推導大

o階的方法:

1.用常數

1取代執行時間中的所有加法常數;

2.在修改後的執行次數函式中,只保留最高端項;

3.如果最高端項存在且不是

1,則去除與這個項相乘的常數;

4.時間複雜度分類:常量階(

o(1))

、線性階

(o(n))

、平方階

(o(n2))、指數階(o

(2n))、對數階(log(n

))等。

5.常見演算法時間度所耗時間的大小排列:o(

1)(n)2)(

2n)4.空間複雜度:s(n)=o

(f(n

)),n

是指問題的規模。乙個上機執行的程式除了需要儲存空間來寄存本身所用指令、常數、變數和輸入資料外,還需要對一些資料進行操作的工作單元和儲存一些為實現計算所需資訊的輔助空間。若輸入資料在所佔空間只取決於問題本身,和演算法無關,則只需分析除輸入和程式之外的輔助空間,否則應同時考慮輸入本身所需空間。若額外空間相對於輸入資料量來說是常數,則稱此演算法為原地工作,空間複雜度為o(

1)。

資料結構 資料結構緒論

資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...

資料結構 緒論

程式 資料結構 演算法 資料 對客觀事物的符號表示。資料元素 資料的基本單位,由若干個資料項組成。資料項是資料不可分割的最小單位。資料物件 性質相同的資料元素的集合,使資料的乙個子集。資料元素是相互之間存在一種或多種特定關係的資料元素的集合。預定義常量型別 函式結果狀態嗎 define true 1...

資料結構緒論

資料結構是一種抽象資料的過程,這種能力是任何工具都無法代替的。學習資料結構的目的 資料結構是計算機專業的基礎,它為幾乎所有的軟體設計的基礎。同時他也培養求解複雜問題的能力。那麼,什麼是資料結構呢,這個概念是很重要的,人月神話上有一段話,說人們往往喜歡將問題分解開來處理,但是這樣一來造成了對整個問題的...