回覆列表
  • 1 # 藍風24

    從數學上定義,給定演算法A,如果存在函式F(n),當n=k時,F(k)表示演算法A在輸入規模為k的情況下的執行時間,則稱F(n)為演算法A的時間複雜度。

    這裡首先要明確輸入規模的概念。關於輸入規模,不是很好下定義,非嚴格的講,輸入規模是指演算法A所接受輸入的自然獨立體的大小。例如,對於排序演算法來說,輸入規模一般就是待排序元素的個數,而對於求兩個同型方陣乘積的演算法,輸入規模可以看作是單個方陣的維數。為了簡單起見,總是假設演算法的輸入規模是用大於零的整數表示的,即n=1,2,3,……,k,……

    對於同一個演算法,每次執行的時間不僅取決於輸入規模,還取決於輸入的特性和具體的硬體環境在某次執行時的狀態。所以想要得到一個統一精確的F(n)是不可能的。為了解決這個問題,做以下兩個說明:

    1.忽略硬體及環境因素,假設每次執行時硬體條件和環境條件是完全一致的。

    2.對於輸入特性的差異,將從數學上進行精確分析並帶入函式解析式。

  • 中秋節和大豐收的關聯?
  • 冰箱缺氟的原因?