Landau notation(兰道记号)是一组用于描述函数在某个极限(常见为 (n\to\infty) 或 (x\to 0))下“增长/衰减速度”的渐近记号。最常见的包括 (O(\cdot))(大 O)、(o(\cdot))(小 o)、(\Theta(\cdot))、(\Omega(\cdot)) 等,广泛用于算法复杂度分析与数学中的渐近估计。
(在不同领域也可能强调不同子集,例如分析数论中常用 (O) 与 (o)。)
/ˈlænd.aʊ noʊˈteɪ.ʃən/
Landau notation helps us describe how fast an algorithm grows.
兰道记号帮助我们描述算法的增长速度。
Using Landau notation, we can write (f(n)=O(n\log n)) to express an asymptotic upper bound as (n\to\infty), while (f(n)=o(n)) indicates the growth is strictly smaller than linear.
用兰道记号,我们可以写 (f(n)=O(n\log n)) 来表示当 (n\to\infty) 时的渐近上界,而 (f(n)=o(n)) 则表示其增长严格小于线性。
“Landau”来自德国数学家 Edmund Landau(埃德蒙·兰道) 的姓氏。兰道在19世纪末至20世纪初的分析数论研究中系统使用并推广了这些渐近记号,因此后人把这一套记号统称为 Landau notation。“notation”意为“记号/符号体系”。