數據結構漸近分析

在數學分析中,演算法的漸近分析是一種定義運行時性能的數學邊界的方法。 使用漸近分析,可以很容易地得出關於演算法的平均情況,最佳情況和最壞情況的結論。

它用於計算演算法內任何操作的運行時間。

示例:一個操作的運行時間為x(n),另一個操作的運行時間計算為f(n2)。 它指的是運行時將隨著第一次操作n的增加而線性增加,並且運行時間將以指數方式增加以進行第二次操作。 類似地,如果n非常小,則兩個操作的運行時間將相同。

通常,演算法所需的時間有三種類型:

  • 最壞情況:它定義了演算法佔用大量時間的輸入。
  • 平均情況:程式執行需要平均時間。
  • 最佳情況:它定義演算法佔用最少時間的輸入。

漸近符號

用於計算演算法運行時複雜度的常用漸近符號,如下:

  • 大歐符號(Ο)
  • 歐米茄符號(Ω)
  • 西塔表示法(θ)

大歐符號(Ο)

它是表達演算法運行時間上限的正式方法,它測量時間複雜度的最壞情況或最長時間,演算法完成其操作所需的時間。 它表示如下:

歐米茄符號(Ω)

它是表示演算法運行時間下限的正式方法。 它衡量演算法可能完成的最佳時間量或最佳的案例時間複雜度。

如果要求演算法在不使用上限的情況下花費至少一定的時間,使用大Ω表示法,即希臘字母“omega”。它用於限制輸入大小的運行時間的增長。

如果運行時間是Ω(f(n)),則對於較大的n值,對於常數(k),運行時間至少為k * f(n)。 它表示如下:

西塔符號(θ)

它是表達演算法運行時間的上限和下限的正式方式。
考慮演算法的運行時間是θ(n),如果一次(n)變得足夠大,則對於某些常數k1k2,運行時間最多為k2-n並且至少為k1≤n。 它表示如下:

常見的漸近符號

變數 ?(1)
線性 ?(n)
對數 ?(log n)
n log n ?(n log n)
指數 2?(n)
立方 ?(n3)
多項式 n?(1)
二次方 ?(n2)

上一篇: 數據結構演算法 下一篇: 指針