私は反復アルゴリズムを持っています。反復ごとに計算量が徐々に減少します。これが私のアルゴリズムの図です:
Input size: n
とTotal iteration = k
iter 1: time taken -> f1 * n
iter 2: time taken -> f2 * n
iter 3: time taken -> f3 * n
...
iter k: time taken -> fk * n
どこf1 > f2 > f3 >...> fk
と0 <= f1, f2,...,fk <= 1
質問: このアルゴリズムの時間計算量は? それは...ですかBig-O(klog n)
Update:
質問があいまいだと思います。言葉で説明します:
私のアルゴリズムの入力は であり、繰り返しn
実行します。k
しかし、反復ごとに、入力サイズは の係数で減少しますunknown
。削減にパターンはありません。
例:
iter 1: input size = n (always n)
iter 2: input size = n/2 (can change)
iter 3: input size = n/5 (can change)
iter 4: input size = n/8 (can change)
...
iter k: input size = n/10 (can change)