• ベストアンサー

O(n log n)について2

n log nはつまり10の(nのn乗)乗という事ですね? なにやらこちらの参考文献にはNの2乗よりn log nの方が効率が良いとあるのですが計算するとn log nのほうが数値が高くなるのですが、これはどういうことでしょう?

質問者が選んだベストアンサー

  • ベストアンサー
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

> n log nはつまり10の(nのn乗)乗という事ですね? 違う。logは対数だから、何乗かしたらnになる数を求める。 すなわち  2^x=n となるとき  x=log n だ。 なお、演算量の話をするときはlogの底は2を使うことが多い。 # オーダーの話では底が何でも結局は同じだが 具体的な数字で話をすると、n=1024のとき、log n = 10で、  n log n = 10240 だ。  n^2 = 1048576 なので、100倍以上小さいことが分かるだろう。

yamada11
質問者

お礼

ありがとうございます!やっと分かりました。 No2さんの話も組み合わせれば、すなわち  2^x=n   x=log n  とは (2^1)= 2  1 = log 2 ということですね。 ちなみに底なるものが定数でないとき(9^1)= 9 1 = log 9と(3^2)= 9 2 = log 9は同じlog9でも数字が違うことから、底が定数でなければlog9のみから底の数字が何であるかは分からない分けですね。 n=1024 log n = 10は10=log1024であり2^10=1024という分けなのですね。 n log nは(n×log n)というわけですか。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.3

logそのものの意味については他の方が既に書かれているので省きますが、 オーダーは定性的な評価をするためのものですので、 「nが大きくなったとき、(計算時間やメモリ使用量が)どのような増え方をするか」という「式の性質」だけを考えます。 そういう点では「nに何らかの値を代入して個々の式の値を比較する」のは意味がありません。 たとえば、計算量が 100n に比例するものと n^2 に比例するものを比較して、 「n=10の時、100n=1000、n^2=100だから、n^2 の方が小さい」というのは無意味。 「100n は、nが2倍になると2倍になる」 「n^2 は、nが2倍になると4倍になる」 ので、最初は100n の方が大きくても、nがどんどん大きくなると、いつか必ず n^2 の方が大きくなります。 そういう観点では、100n も n も、性質は同じですので、オーダーを記述するときは定数倍数は省いて、どちらもO(n)と表します。 オーダーの基本的な性質としては、とりあえず最低限 O(n) > O(√n) > O(log n) > O(1) という関係は成り立つのだ、と覚えておけばいいです。 (この関係が成り立つことを正しく説明するのは難しいのですが、 直感的に説明するなら、nに非常に大きな数を代入して調べればいいです。たとえば 1048576 を代入すると、 n= 1048576 √n= 1024 log n= 20 1 = 1 ですので、 n > √n > log n > 1 となります。 上記関係をおさえておけば、上記不等式をそれぞれn倍すれば、 O(n^2) > O(n√n) > O(n log n) > O(n) なんてのも求まります。

yamada11
質問者

お礼

ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

log(対数)について コンピュータの話なので対数の底を2として log 2 = log (2^1) = 1 log 4 = log (2^2) = 2 log 8 = log (2^3) = 3 log 16 = log (2^4) = 4 log 32 = log (2^5) = 5 log 64 = log (2^6) = 6 log 128 = log (2^7) = 7 log 256 = log (2^8) = 8 log 512 = log (2^9) = 9 log 1024 = log (2^10) = 10 のような計算になります

yamada11
質問者

お礼

ありがとうございます。書き出していただき分かりやすかったです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ∑[8/(n・sinh(nπ)]=log2

    次の式を証明していただけませんか。 和はnの和で、n=1,3,5,7・・・と奇数です。 ∑[8/(n・sinh(nπ)]=log2 数値計算では両辺が等しいことを確認しています。 お願いいたします。

  • 1+1/2+1/3+…とlog(n)

    数学の参考書を読んで疑問に思ったんですけど S=1+1/2+1/3+…+1/nとして lim(S-log(n))が0.5772くらいに収束するのは y=1/xなどのグラフからの面積評価で感覚的になんとなくわかるんですけど lim(S/log(n))という極限値が1にいくのが全然理解できません。 わかる方はヒントでもなんでもいいのでお願いします。 ちなみにlogは自然対数です。limはn→∞という 意味です。

  • 【計算量Log n】僕は実際の面接でソートの計算量

    【計算量Log n】僕は実際の面接でソートの計算量を聞かれて、log nですかねと言ったら「は?」という顔をされたので即座に「nより速いのはありえないですよねー、HAHAHA!」とごまかして事なきを得た。 ツイッターより 計算量のlog nのnより早いのはあり得ないってどういう意味ですか? あとLog nの計算量とOのオーダ量の違いは何ですか?

  • ∑_(k=1)^n 4/log_2 (a_k+1) log_2 (a

    ∑_(k=1)^n 4/log_2 (a_k+1) log_2 (a_(k+1)+1) どうやって計算をしていけばいいのでしょうか? 高校の数列の問題です。

  • logの問題たくさん…

    どれか1つでもいいんで分かったら式とか説明を出来るだけ詳しく書いて教えて下さい。 (1)3000<4分の5のn乗<6000を満たす整数nの値を求めよ。ただしlog(10)2=0.3010、log(10)3=0.4771とする。  (2)0.4のn乗を小数で表すとき、小数第3位に初めて0でない数字が現れるような整数nの値を求めよ。ただし、log(10)2=0.3010とする。 (3)ろ過するたびに水に含まれる有害物質の10%を除去%%する装置がある。ろ過を繰り返して、有害物質を当初含まれている量の5%以下にしたい。何回繰り返せばよいか。ただし、log(10)2=0.3010、log(10)3=0.4771とする。 次の方程式、不等式を解け。 (4)log底2(-x+3)=log底4(2x+8) (5)y=log底a(xの2乗-4x+3)とする。 4≦x≦6の時、yの最大値が-1となるaの値を求めよ。ただし、a>0、a≠1とする。

  • log計算につきまして

    logを使った計算で困っています。 2 n-1 (←右上小文字) < 10 7(←右上小文字) < 2 n(←右上小文字) とした場合、7/log10(←右下小文字)2 < n < 7/log10(←右下小文字)2+1 となる との事ですが、どのように変換したらたどり着くのか分かりません。 どなたか教えていただけますか? よろしくお願いいたします。

  • 応力ひずみ曲線の予測

    材料の変形に伴う変化を解析しようとしています。 そこで、あるn乗硬化則に従う材料を仮定して、計算を行っております。(σ=Kε^n) まず、上記の条件下での応力ひずみ曲線の変化を破断まで再現する事は出来るのでしょうか?出来るような気がするのですがどのように計算して良いか悩んでおります。 どなたかご存知の方ご教授頂くか、何か参考になる文献や参考書などをご存知の方がいらっしゃいましたら教えて頂けると非常に助かります。 宜しくお願いいたします。

  • 対数(LOG?)について教えてください

    最近仕事で半導体業界の方と接するようになり、その中で出てくる対数についてよくわからない為、詳しい方がいらっしゃいましたらお教えください。また、初心者にもわかりやすく解説してあるようなページをご存知でしたらお教えください。 本当に良くわからないので、このカテゴリーで良いのかわかりませんが、話でよく出てくるのは・・・・ 『抵抗値は10×10の9乗(Ω)から10乗に変更を・・・・』 ・・・・意味がわかりません・・・・100の9乗(1000000000000000000)ということでしょうか? 『低効率は10.5~11.5logΩあたりを・・・・』 ・・・・察するに10.5乗~11.5乗ということでしょうか?仮にそうだとしたらなぜそうなるのでしょうか? 『じゃあ抵抗を半桁下げて・・・・』 半桁???? ずっと文系だったので本当にお恥ずかしい限りですが、どうぞ宜しくお願いいたします。

  • 対数logについて

    対数logについて 基本情報処理技術者試験の勉強をしているのですが、 オーダ記法のところで、よく使われる表現として O(1) O(log n) O(n) O(n log n) O(n^2) ←計算時間小 計算時間大→ という五つの表現が紹介されているのですが、 このうち対数logを用いた物が理解できません。 例えば0(n)は、データ量nが2倍に増えれば計算時間も2倍になるということですよね。 しかしO(log n)だとどういう考え方になるのかわかりません。 対数についてもまだ理解できていないので、 対数のことから教えていただけないでしょうか。回答お待ちしてます。

  • ソフトウェア開発技術者~対数logについて

    ソフトウェア開発技術者の参考書に、計算量の大小関係と称して次のような式が掲載されていました。「1<log n<n<n log n<n^2<…」 恥ずかしながら、どうしてこうなるのかがわかりません。そもそも、対数logには「底」というものが必要ではないのでしょうか? 3=log28(2は底)というように。

SCANしても一部が切れる
このQ&Aのポイント
  • 製品名:MFC-J955DN
  • 自動紙送りができなくなり、スキャンした画像の一部が切れてしまうトラブルについて相談です。
  • Windowsで接続されているパソコンからUSBケーブル経由でMFC-J955DNを使用しています。関連ソフトはcontroll center4で、電話回線はひかり回線です。スキャンをする際、一部が切れる現象が発生しており、解決方法を教えていただきたいです。
回答を見る

専門家に質問してみよう