《大話資料結構》

2022-05-13 03:26:39 字數 744 閱讀 4437

1 基本概念

資料項:最小單位

資料元素(記錄):由若干資料項組成

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

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

2 結構

邏輯結構:

集合(相互獨立)、線性結構(1:1)、樹形結構(1:n或n:1)、圖形結構(n:n)

物理結構:

順序儲存結構、鏈式儲存結構

3 抽象資料型別adt

4 演算法

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

特性:輸入輸出(可無輸入,必須輸出);

有窮性(步驟有限,時間可接受);

確定性(無二義性);

可行性(可通過有限次數完成)。

演算法設計要求:

正確性、可讀性、健壯性、時間效率和儲存量、

演算法效率度量方法:

事後統計方法、事前估算方法

演算法時間複雜度:

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

演算法空間複雜度

棧、佇列、串

《大話資料結構》

函式的漸進增長 我們現在來判斷一下,兩個演算法a和b哪個更好。假設兩個演算法的輸入規模都是n,演算法a要做2n 3次操作,你可以理解為先有乙個n次的迴圈,執行完成後,再有乙個n次迴圈,最後有三次賦值或運算,共2n 3次操作。演算法b要做3n 1次操作,你覺得它們誰更快呢 準確來說,答案是不一定的 當...

《大話資料結構》

常見的時間複雜度 常見的時間複雜度如下圖所示 常用的時間複雜度所耗費的時間從小到大依次是 o 1 o logn o n o nlogn o n o n 三次方 o 2 n次方 o n!o n n次方 我們前面已經談到了 o 1 常數階 o logn 對數階 o n 線性階 o n 平方階等,至於o ...

《大話資料結構》

線性表 線性表,從某種就能感覺到,是具有像線一樣的性質的表。在廣場上,有很多人分散在各處,當中有些是小朋友,可也有很多大人,甚至還有不少寵物,這些小朋友的資料對整個廣場人群來說,不能算是線性表的結果。但像剛才提到的那樣,乙個班級的小朋友,乙個跟著乙個排著隊,有乙個打頭,有乙個收尾,當中的小朋友,每乙...