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