\(o(f(n))\):
\(t(n)=o(f(n))\)表示存在常數\(c>0\),\(n_0>0\),使得當\(n>n_0\)時,總有\(t(n)<=cf(n)\)
\(\omega(f(n))\):
\(t(n)=\omega(f(n))\)表示存在常數\(c>0\),\(n_0>0\),使得當\(n>n_0\)時,總有\(t(n)>=cf(n)\)
\(\theta(f(n))\):
\(\theta(f(n))\)表示同時有\(t(n)=o(f(n))\)和\(t(n)=\omega(f(n))\)
一般取能找到的最小的上界和最大的下界。
程式設計師的直覺,當有乙個演算法是\(o(n^2)\)的,下意識想能不能變成\(o(nlogn)\)
兩段**相加與相乘
若兩段演算法分別有複雜度\(t_1(n)=o(f_1(n))\)和\(t_2(n)=o(f_2(n))\),則
\(t_1(n)+t_2(n)=max(o(f_1(n)),o(f_2(n)))\)
\(t_1(n)·t_2(n)=o(f_1(n)·f_2(n))\)
演算法的複雜度的漸近表示方法
乙個演算法的時間複雜度,指演算法執行的時間。假設資料輸入規模是n,演算法的複雜度可以表示為f n 的函式 一。大o記號 假設f n 和g n 的定義域是非負整數,存在兩個正整數c和n0,使得n n0的時候,f n 二。記號 記號與大o記號相反,他可以表示演算法執行時間的下界。g n 表示的函式集合的...
演算法複雜度的漸近表示法(詳細版)
乙個演算法的時間複雜度,指演算法執行的時間。假設資料輸入規模是n,演算法的複雜度可以表示為f n 的函式 一。大o記號 假設f n 和g n 的定義域是非負整數,存在兩個正整數c和n0,使得n n0的時候,f n c g n 則f n o g n 可見o g n 可以表示演算法執行時間的上界。o g...
大O演算法複雜度表示
序言 演算法的時間複雜度和空間複雜度都是用 大o表示法 來表示的。其中o是個常量。常見的排序演算法的時間複雜度 氣泡排序 插入排序 希爾排序 選擇排序的時間複雜度是o n 2 快速排序的時間複雜度是o n log n 空間複雜度 氣泡排序 插入排序 希爾排序 選擇排序的空間複雜度是o 1 快速排序的...