Can you summarize the following document?
        
  時間複雜度分析和如何定義「一步操作」有緊密聯絡。作為演算法分析成立的一項基本要求,單步操作必須能夠在確定的常量時間內完成。  實際情況很複雜。舉例,有些分析方法假定兩個數相加是單個步驟,但這假定可能不成立。若被分析的演算法可以接受任意大的數,則無法保證相加操作能夠在確定的時間內完成。  通常有兩種定義消耗的方法:  後者更難以應用,所以只在必要時使用。一個例子是對接受任意精度資料的演算法(比如密碼學中用到的一些演算法)的分析。  人們常常忽略一點:演算法的效率的理論界限,通常建立在比實際情況更加嚴格的假定之上。因此在實際中,演算法效率是有可能突破理論的界限的。

  演算法是平臺無關的,也即一個演算法可以在任意計算機、任意作業系統上、用任意程式語言實現。因此,演算法效能的相對好壞,不能僅僅通過基於執行記錄的經驗來判斷。  舉例:一個程式在大小為 n 的有序陣列中搜尋元素。假設該程式在一臺先進的電腦 A 上用線性搜尋實現,在一臺老舊的電腦 B 上用二分搜尋實現。效能測試的結果可能會如下: 通過這些資料,很容易得出結論說計算機 A 執行的演算法比計算機 B 的演算法要高效得多。但假如輸入的陣列長度顯著增加的話,很容易發現這個結論的錯誤。 以下是另一組資料:  計算機 A 執行的線性搜尋演算法具有線性時間。它的執行時間直接與輸入規模成正比。輸入大小若加倍,執行時間同樣加倍。而計算機 B 執行的二分搜尋演算法具有對數時間。輸入大小若加倍,執行時間僅僅增加一個常量,在此例中是 25,000 納秒。即使計算機 A 明顯效能更強,在輸入不斷增加的情況下,計算機 B 的執行時間終究也會比計算機 A 更短,因為它執行的演算法的增長率小得多。

  非正式地,如果一個關於 formula_3 的函式 formula_4,乘以一個係數以後,能夠為某個演算法在輸入資料大小 formula_3 足夠大的情況下的執行時間提供一個上界,那麼稱此演算法按該函式的階增長。一個等價的描述是,當輸入大小 formula_3 大於某個 formula_7 時,存在某個常數 formula_8,使得演算法的執行時間總小於 formula_9。常用大O符號對此進行描述。比如,插入排序的執行時間隨資料大小二次增長,那麼插入排序具有 formula_10 的時間複雜度。大O符號通常用於表示某個演算法在最差情況下的執行時間,但也可以用來表述平均情況的執行時間。比如,快速排序的最壞執行時間是 formula_10,但是平均執行時間則是 formula_12。

  分析一個演算法的最壞執行時間複雜度時,人們常常作出一些簡化問題的假設,並分析該演算法的結構。以下是一個例子:  一臺給定的電腦執行每一條指令的時間是確定的,並可以用 DTIME 描述。 假設第 1 步操作需時 T,第 2 步操作需時 T,如此類推。  步驟 1、2、7 只會執行一次。應當假設在最壞情況下,步驟 3 也會執行。步驟 1 至 3 和步驟 7 的總執行時間是:  formula_13  步驟 4、5、6 中的迴圈更為複雜。步驟 4 中的最外層迴圈會執行 (n + 1) 次(需要一次執行來結束 for 迴圈,因此是 (n + 1) 次而非 n 次),因此會消耗 T × (n + 1) 單位時間。內層迴圈則由 i 的值控制,它會從 1 迭代到 n。 第一次執行外層迴圈時,j 從 1 迭代到 1,因此內層迴圈也執行一次,總共耗時 T 時間。以及內層迴圈的判斷語句消耗 3T 時間。  所以,內層迴圈的總共耗時可以用一個等差級數表示:  上式可被因式分解為:  類似地,可以分析內層迴圈的判斷語句:  上式可被分解為:  因此該演算法的總執行時間為:  改寫一下:  通常情況下,一個函式的最高次項對它的增長率起到主導作用。在此例裡,n2 是最高次項,所以有結論 formula_24。  嚴格證明如下:證明 formula_25  formula_26  formula_27  令 k 為一個常數,其大於從 T 到 T 所有的數。  formula_28  formula_29  因此有  formula_30,其中 formula_31  還可以假定所有步驟全部消耗相同的時間,它的值比 T 到 T 中任意一個都大。這樣的話,這個演算法的執行時間就可以這樣來分析:  formula_32

  運用與分析時間相同的方法可以分析其他運算資源的消耗情況,比如儲存器空間的消耗。例如,考慮以下一段管理一個檔案的記憶體使用的虛擬碼:  在這個例子裡,當檔案大小 n 增長的時候,記憶體消耗會以指數增長,或 formula_33。這個速度非常快,很容易使得資源消耗失去控制。
在電腦科學中,演算法分析(英語:Analysis of algorithm)是分析執行一個給定演算法需要消耗的計算資源數量(例如計算時間,儲存器使用等)的過程。演算法的效率或複雜度在理論上表示為一個函式。其定義域是輸入資料的長度(通常考慮任意大的輸入,沒有上界),值域通常是執行步驟數量(時間複雜度)或者儲存器位置數量(空間複雜度)。演算法分析是計算複雜度理論的重要組成部分。