本節書摘來自華章計算機《計算複雜性:現代方法》一書中的第0章,第0.3節,作者 [美]桑傑夫·阿羅拉(sanjeev arora),博阿茲·巴拉克(boaz barak),譯 駱吉洲,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
算法的計算效率一般通過将該算法執行的基本操作的個數表達為算法輸入的長度的函數來表示。這就是說,算法的效率用從自然數集n到其自身的函數t來刻畫,t(n)是算法在所有長度為n的輸入上執行的基本操作的最大個數。然而,函數t的形式有時嚴重地依賴于基本操作的具體定義。例如,在整數的加法中,基本操作既可以按照十進制(以10為基數)也可以按照二進制(以2為基數)來定義,但後者執行的基本操作個數是前者執行的基本操作個數的3倍還多。為了避免在基本操作的定義上糾纏不清而僅關注算法的宏觀行為,采用下面的記号十分有益。