數據結構:數據與數據之間的結構關系(數組、隊列、樹、圖等結構)
算法:解決問題的步驟
總結:
1、程序 = 數據結構 + 算法 。數據是程序的中心。數據結構和算法兩個概念間的邏輯關系貫穿了整個程序世界,首先二者表現為不可分割的關系。沒有數據間的有機關系,程序根本無法設計。
2、數據結構與算法關系:數據結構是底層,算法高層。數據結構為算法提供服務。算法圍繞數據結構操作。
3、解決問題(算法)需要選擇正確的數據結構。例如:算法中經常需要對數據進行增加和刪除用鏈表數據結構效率高,數組數據結構因為增加和刪除需要移動數字每個元素所有效率低。
4、數據結構特點:每種數據結構都具有自己的特點。例如:隊列:先進先出。棧:先進后出。等等
5、算法的特性:算法具有五個基本特征:輸入、輸出、有窮性、確定性和可行性。
6、數據結構應用:數據結構往往同高效的檢索算法、索引技術、排序算法有關
7、數據結構(邏輯數據結構)通過計算機語言來實現數據結構(存儲數據結構)。例如:樹型數據結構:通過計算機語言中的數組(節點)和指針(指向父節點)來實現。
8、存儲結構:邏輯數據結構的實現。存儲結構通過計算機語言實現。 例如:堆數據結構,堆是一棵完全二叉樹,所以適宜采用順序存儲結構(順序存儲:數組),這樣能夠充分利用存儲空間。
9、算法目的:算法是為數據結構服務。例如:數據結構通常伴隨有查找算法、排序算法等
10、數據結構的優劣:一種數據結構的優劣是在實現其各種運算的算法中體現的。
二、數據結構:分為邏輯數據結構和存儲數據結構兩種
(1)順序存儲方法(順序存儲結構)
(2)鏈接存儲方法(鏈式存儲結構)
同一種邏輯結構可采用不同的存儲方法(以上兩種之一或組合),這主要考慮的是運算方便及算法的時空要求。