- Python Data Structures and Algorithms
- Benjamin Baka
- 235字
- 2021-07-09 19:45:08
Big O notation
The letter "O" in big O notation stands for order, in recognition that rates of growth are defined as the order of a function. We say that one function T(n) is a big O of another function, F(n), and we define this as follows:

The function, g(n), of the input size, n, is based on the observation that for all sufficiently large values of n, g(n) is bounded above by a constant multiple of f(n). The objective is to find the smallest rate of growth that is less than or equal to f(n). We only care what happens at higher values of n. The variable n0represents the threshold below which the rate of growth is not important, The function T(n) represents the tight upper bound F(n). In the following plot we see that T(n) = n2 + 500 = O(n2) with C = 2 and n0 is approximately 23:

You will also see the notation f(n) = O(g(n)). This describes the fact that O(g(n)) is really a set of functions that include all functions with the same or smaller rates of growth than f(n). For example, O(n2) also includes the functions O(n), O(nlogn), and so on.
In the following table, we list the most common growth rates in order from lowest to highest. We sometimes call these growth rates the time complexity of a function, or the complexity class of a function:

- INSTANT Mock Testing with PowerMock
- 自制編譯器
- 新一代通用視頻編碼H.266/VVC:原理、標準與實現
- Python自動化運維快速入門(第2版)
- 軟件測試技術指南
- UML 基礎與 Rose 建模案例(第3版)
- Multithreading in C# 5.0 Cookbook
- The Professional ScrumMaster’s Handbook
- Android傳感器開發與智能設備案例實戰
- QGIS 2 Cookbook
- 動手打造深度學習框架
- Photoshop智能手機APP界面設計
- Advanced Python Programming
- Android應用程序設計
- Spring Boot從入門到實戰