典型的なは、分割統治アルゴリズムであり、線形時間で作業を分割(および再結合)し、断片を再帰的に処理します。マージソートは、そのように動作する:支出O (N )時間分割2つのおおよそ等しい片に入力、再帰的にソート各部分、および過ごすΘ (N )二つの半体をソート結合時間。Θ (n logn )O(n)Θ(n)
直感的には、分割統治のアイデアを続けると、分割にかかる時間は線形であるため、分割するピースの数の増加がピースのサイズの減少と正確に一致するため、各分割ステージは合計で線形の時間がかかります。合計実行時間は、分割ステージの合計コストに分割ステージの数を掛けた積です。小片の大きさは、各時点で半分になるので、ある実行時間の合計であるので、分割段をN ⋅ ログ(N )。(乗法定数まで、対数の底は無関係です。)log2(n)n⋅log(n)
式()に入れて、このようなアルゴリズムの実行時間を推定する1つの方法は、それを再帰的に表現することです:T (n )= 2 T (n / 2 )+ Θ (n )。このアルゴリズムは線形時間よりも時間がかかることは明らかであり、nで除算することでどれだけ長くなるかを見ることができます:
T (n )T(n)T(n)=2T(n/2)+Θ(n)nのn倍、T(N)/N一定量だけ増加:T(N)/Nが増加する対数、すなわち、T(N)=Θ(NログN)。
T(n )n= T(n / 2 )n / 2+ Θ (1 )
nT(n)/nT(n)/nT(n)=Θ(nlogn)
これは、より一般的なパターンのインスタンスです:マスター定理。サイズのその入力分割任意の再帰的アルゴリズムのにサイズの片N / Bを、時間かかりF (nは)分割及び再結合を行うために、実行時間を満たすT (N )= ⋅ T (N / B )+ f (n )。値に依存閉形このリードとBとの形状nan/bf(n)T(n)=a⋅T(n/b)+f(n)ab。もし = B及び F (N )= Θ (N )、マスタ定理状態すなわち T (N )= Θ (N ログN )。fa=bf(n)=Θ(n)T(n)=Θ(nlogn)