回覆列表
-
1 # 光通訊充電寶
-
2 # 大圓圓愛科研
資料結果跟演算法就不是一個概念。
資料結構是資料存放的方法,演算法是處理問題的方法。兩種沒有什麼關係,一個數據結構可以應用於多個演算法,一個演算法也可以使用多種資料結構實現。
常見的資料結構
一般是根據演算法來選擇合適的資料結構。
▪陣列(Array)
▪棧( Stack)
▪佇列(Queue)
▪連結串列( Linked List)
▪樹( Tree)
▪圖(Graph)
▪堆(Heap)
▪散列表(Hash)
那麼可以根據演算法來選擇合適的資料結構,
例如,
貪心演算法可以選擇陣列、列表。
排序演算法可以使用陣列、列表、連結串列、堆。
深度優先演算法比較喜歡用棧。
廣度優先演算法比較喜歡用列表。
如果想學習的話,建議先學習《資料結構》再學習《演算法設計與分析》
資料結構與演算法不是一一對應的。一種結構可能對應一種演算法,但是一種演算法可以有多種資料結構來實現,比如排序演算法,有多種實現方式。