1. 程式人生 > 其它 >2資料結構中的演算法

2資料結構中的演算法

演算法

演算法是解決特定問題求解步驟的描述,再計算機中表現為指令的有限序列,並且每條指令表示一個或多個操作。

資料結構和演算法關係

資料結構和演算法就像梁山伯與祝英臺,羅密歐與朱麗葉,少了一個主角,光講另一個主角的心路旅程就沒法看了。

本文的演算法只是為了幫助理解好資料結構,不會詳談演算法的細節。

演算法的特性

五項基本:輸入、輸出、有窮性、確定性和可行性。

1.輸入:演算法具有零個或多個輸入。

2.輸出:演算法至少有一個或多個輸出。輸出形式可以是列印或返回值

3.有窮性:指演算法在執行有限的步驟後,自動結束而不會出現無限迴圈,並且每一個步驟在可接受的時間內完成。

  注:有窮的理解並非純數學意義上的,而是實際應用當中合理的、可以接受的“有邊界”。比如,寫了一個演算法,計算機需要算個20年,一定會結束,數學意義上是有窮,但演算法的意義就不存在了。

4.確定性:演算法的每一步驟都具有確定的含義,不會出現二義性。