lg( √n ) と √ lg n のどちらの関数がより速く成長しますか?
計算すると、lg (√n) の方が速いことがわかりました。これは正しいです?
あなたの計算は正しいです。lg (√n) = lg (n 1/2 ) = lg(n) / 2、これは (√ log n) 2として成長します。
コメントで述べたように、どちらが速く成長するかわからない場合は、通常2つの関数をグラフ化します。通常、予想される入力範囲に近いnの値についてグラフ化しますが、この場合、nの値が小さい場合でもlg(√n)の方が速く成長することがわかります。
注:上のグラフは、lgのベースが2、 logのベースが10であると想定しています。
あなたは比較しています
(1) lg(√n)= lg(n ^(1/2))=(1/2)* lg(n)
と
(2) √logn =(√lgn)/(√lg10)
定数を削除すると、私たちlg( n )
とが残り√ lg n
ます。明らかに、最初のものはより速く成長しています。
ちなみに、基数BのAの対数は、基数XのAの対数を基数XのBの対数で割ったものに等しくなります。ここで、Xは対数の底として有効な値です。