官术网_书友最值得收藏!

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:

主站蜘蛛池模板: 荣昌县| 连江县| 峨山| 庆安县| 公安县| 江西省| 兴仁县| 礼泉县| 澄城县| 星子县| 闻喜县| 石泉县| 云霄县| 长宁区| 台东市| 嘉义县| 仁布县| 襄樊市| 昌平区| 天峻县| 武冈市| 怀仁县| 兴城市| 荥经县| 富裕县| 泸西县| 怀宁县| 舞阳县| 台北县| 万安县| 鄂伦春自治旗| 无锡市| 大姚县| 拉孜县| 缙云县| 罗山县| 得荣县| 喀什市| 霸州市| 孝义市| 池州市|