本節書摘來自華章計算機《算法基礎》一書中的第1章,第1.2節,作者:(美)羅德·斯蒂芬斯(rod stephens)著,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視
算法是完成某個任務的方法。資料結構是一種安排資料的方法。這個方法使解決某個特定的問題更簡單。資料結構可以是一種在數組中放置數值的方法,一個以某種特定結構連結物體的連結清單、一棵樹、一個圖、一個網絡,甚至更奇異的東西。
通常算法是與資料結構緊密聯系在一起的。比如,第15章中描述的編輯距離算法使用了一個網絡來确定兩個字元串的相似程度。這個算法與網絡緊緊地聯系在一起,沒有網絡它就不能工作。
通常一個算法意味着:“建立一個特定的資料結構,然後用一個特定的方法使用它。”沒有資料結構就沒有算法。如果不打算在算法中運用資料結構,那麼設計這個算法也就沒有意義。