資料結構開篇 邏輯結構和物理結構 演算法複雜度

2022-03-29 14:14:47 字數 1193 閱讀 6733

邏輯結構:

1.集合結構:資料元素只是同屬於乙個集合

2.線性結構:一對一關係

3.樹形結構:一對多的關係

4.圖形結構:資料元素是多對多的關係

物理結構:

又叫儲存結構,是指資料的邏輯結構在計算機中的儲存形式

順序儲存結構:陣列結構,連續的儲存單元,資料的邏輯關係和物理關係一致

鏈式儲存結構:任意的儲存單元,資料的邏輯關係和物理關係不一致。

1.演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。

2.演算法有5個特性:

(1)輸入:演算法有零個或多個輸入

(2)輸出:演算法至少有乙個輸出

(3)有窮性

(4)確定性:

(6)可行性

3.演算法設計的要求:

正確性:錯誤說明,沒有語法錯誤,合法輸入有合法輸出

可讀性:便於閱讀、理解和交流

健壯性:不容易崩潰

時間效率高和儲存量低

演算法效率的度量方法:

效率高即是演算法的執行時間短

事後統計方法:用計時器對每個演算法計時

事前分析估計方法:編寫演算法前用數學統計方法估計效率

因素:1.演算法策略,方案

2.編譯產生的**質量

3.問題的輸入規模

4.機器執行指令的速度

演算法的複雜度:側重研究演算法隨著輸入規模擴大增長量的乙個抽象

函式的漸進增長:忽略所加常數,最高次項的係數可視為1,應該關注的主項的階數

演算法的時間複雜度:執行次數t(n)隨規模n的變化情況,確定t(n)的數量及

t(n) = o(f(n)),執行次數和執行時間成正比

大o記法:t(n)增長最慢的是最優演算法

對到方法:拋棄一些常數係數,拋棄低階項

例如:常數階o(1);

線性階:直線增長o(n)

平方階:o(n^2)巢狀(n*(n+1)/2

對數階:2^x = n,得到x = log(2)n;所以是o(logn)

立方階指數階

o(1) < o(logn) < o(n) < o(nlogn) < o(n^2) < o(n^3) < o(2^n) << o(n!) < o(n^n)

最壞情況與平均情況

我們所提的執行時間是最壞執行時間

演算法的空間複雜度:記憶體儲存大小

可以用空間換取時間

資料結構 物理結構 邏輯結構

計算機是運算元據的來實現功能,操作的大批資料之間都是相互有關係的,這些有關係的資料的集合叫做資料結構 實現功能操作的方法叫做演算法 所以就是編寫程式,用些相互之間有關係的資料,讓他們怎麼做來處理問題,實現功能。從資料結構的定義來看,只能看得出邏輯結構,就像是每個同學都有號碼,1號2號排下去,不論這些...

資料結構的邏輯結構和物理結構

資料結構 指的是資料之間的相互關係,包含三個內容 邏輯結構,儲存結構和資料的運算 資料的邏輯結構指資料元素之間的邏輯關係,分兩種,線性結構和非線性結構。常用的線性結構有 線性表,棧,佇列,雙佇列,陣列,串。資料結構在計算機中的表示 又稱映像 稱為資料的物理結構,或稱儲存結構。資料的儲存結構可採用順序...

初識資料結構 物理結構和邏輯結構

1.邏輯結構 所謂邏輯結構就是資料與資料之間的關聯關係,準確的說是資料元素之間的關聯關係。注 所有的資料都是由資料元素構成,資料元素是資料的基本構成單位。而資料元素由多個資料項構成。邏輯結構有四種基本型別 集合結構 線性結構 樹狀結構和網路結構。也可以統一的分為線性結構和非線性結構。2.物理結構 資...