邏輯結構:
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.物理結構 資...