對於一個問題,我們常常會有多種的解決方法,也就是說有多種的算法可以解決這個問題,那么怎樣評價一個算法的好壞呢?一個算法好不好體現在運行該算法所需要的計算機資源的多少上,而該計算機資源最重要的兩個方面就是時間和空間。而我們常常將改進算法的精力集中在時間效率上。
1.運行時間度量單位
那么用什么來度量這個運行時間呢?時,分,秒嗎?更常用的方法是把基本操作次數作為算法運行時間的度量單位。
2.增長次數(增長幅度)
小規模輸入在運行時間上差別不足以將高效的算法和低效的算法法區分開來,所以需要考慮大規模輸入時執行次數的增長次數。
3.算法的最優、最差和平均效率
最差效率:指當輸入規模為n時,算法的最壞情況下的效率。
最優效率:指當輸入規模為n時,算法在最優情況下的效率。
平均效率:指當輸入規模為n時,算法的平均效率。
大量實踐經驗告訴我們,我們評價一個算法是應該重點考慮最差效率這一點。

