第一階段 javaSE 陣列01
阿新 • • 發佈:2022-05-13
針對Python資料結構與演算法(裘宗燕版)中的第一章緒論最後的問題
資料結構
概念
資料與資料之間的結構關係(陣列、佇列、樹、圖等結構)
類別
分為邏輯資料結構和儲存資料結構兩種
儲存方法
- 順序儲存方法(順序儲存結構)
- 連結儲存方法(鏈式儲存結構)
同一種邏輯結構可採用不同的儲存方法(以上兩種之一或組合),這主要考慮的是運算方便及演算法的時空要求。
演算法
解決問題的步驟
總結
程式 = 資料結構 + 演算法
資料是程式的中心。資料結構和演算法兩個概念間的邏輯關係貫穿了整個程式世界,首先二者表現為不可分割的關係。沒有資料間的有機關係,程式根本無法設計。
資料結構與演算法關係
資料結構是底層,演算法高層。資料結構為演算法提供服務。演算法圍繞資料結構操作。
解決問題(演算法)需要選擇正確的資料結構
例如:演算法中經常需要對資料進行增加和刪除用連結串列資料結構效率高,陣列資料結構因為增加和刪除需要移動數字每個元素所有效率低。
資料結構特點
每種資料結構都具有自己的特點。例如:佇列:先進先出。棧:先進後出。
演算法的特徵
演算法具有五個基本特徵:輸入、輸出、有窮性、確定性和可行性。
資料結構應用
資料結構往往同高效的檢索演算法、索引技術、排序演算法有關
資料結構(邏輯資料結構)通過計算機語言來實現資料結構(儲存資料結構)
例如:樹型資料結構:通過計算機語言中的陣列(節點)和指標(指向父節點)來實現。
儲存結構
邏輯資料結構的實現。儲存結構通過計算機語言實現。
例如:堆資料結構,堆是一棵完全二叉樹,所以適宜採用順序儲存結構(順序儲存:陣列),這樣能夠充分利用儲存空間。
演算法目的
演算法是為資料結構服務。例如:資料結構通常伴隨有查詢演算法、排序演算法等
資料結構的優劣
一種資料結構的優劣是在實現其各種運算的演算法中體現的。