質問

っては、コース計算の複雑さいた印象を受けできないものにしました。

ことがございました間違いだったこの道をえます。どの複雑さ理論の助けですか?トンもの。

役に立ちましたか?

解決

O(1):平野をコードなタイルです。直流れます。ルックアップをルックアップテーブルはO(1)。

O(log(n)):効率よく最適化アルゴリズム例:バイナリーツリーアルゴリズムおよびバイナリを検索する通常な傷ついてしまう。くつろげる色調の落ち着ける雰囲気などございましたらおのアルゴリズムです。

O(n):グループ以上データです。痛みのための非常に大きい。

O(n*log(n)):るアルゴリズムは何らかの分割を征服戦略です。痛みは大きい。典型的な例マージソ

O(n-n):入れ子ループの並べ替えができます。痛みも小さい。共通のナイーブマトリクス計算が使えます。きを避けるためにはこのようなアルゴリズムが使用できます。

O(n^x x>2):ぽ建築を入れ子になった複数のタイルです。痛みのための非常に小さい。

O(x^n!悪い):掲示板(よく再帰的アルゴリズムによってお使いいプロダクションコードを除いて非常に制御された場合には、非常に小さなnが本当になります。計算時間とともに爆発n=n+1.

移動アルゴリズムからより高い複雑性クラスができるアルゴリズム。思いのフーリエ変換するO(n-n)のアルゴリズムが使用不可能と1960年代のハードウェアを除きる場合があるからです。その後CooleyおよびTukeyある巧妙な複雑さの削減による利用において計算値です。その広がりのFFTに信号処理を行います。のでもなぜスティーブ-ジョブズってフォーチュンのiPodです。

簡単な例:ナイーブCプログラマを書きこのようなループ:

for (int cnt=0; cnt < strlen(s) ; cnt++) {
  /* some code */
}

ことになるO(n-n)のアルゴリズムが実施strlen().入れ子ループへの乗算の複雑さの中の大O.O(n)内にはO(n)をO(n-n)O(n^3内にはO(n)をO(n^4).この例では、次precalculating文字列の長さは直ちに、ループへのO(n) ジョエルさん、どうもです。

しかし、複雑性クラスがすべてではありません。まあまのじゃく)がかわいらしのn.リワークするにはO(n*log(n))のアルゴリズムをO(n)ならば、数(直線的)に指示が大量により、熱しない)場合にnが小さいとにかく最適化しないバーンです。

他のヒント

なか体感することができます。んでソフトウェア開発のわずかな理解アルゴリズムの複雑になります。しか持てる知識の複雑さをが、この点は多くなく実現します。の二つのことについて学ぶことの複雑性を与えまして、ソフトウェア開発者を比較し非同様のアルゴリズムと同じものを並べ替えアルゴリズムのクラシックの例が多いですが自分で書など).に役立つ場合が多いものですがに、速やかにつなアルゴリズムです。

例えば、SQL.SQLを使用して、日々もあります。した場合は以下のクエリー、ご理解のクエリは異なる場合に要する経費は、すべ複雑になります。

SELECT User.*, COUNT(Order.*) OrderCount FROM User Join Order ON User.UserId = Order.UserId

ご検討の複雑さ、そうだって言ってくれましたO(n^2)特定のDBMS.な複雑性理論、人のいいテーブルスキャン。した場合は追加のインデックスのテーブル

CREATE INDEX ORDER_USERID ON Order(UserId)

そして、上記のクエリーがO(n log n)作用により起こることから大きな違いが大きなDBが少ならないのです。

という意見もあ複雑さの理論は不要かデータベースの仕事について正しいものの、複雑さの理論、言語を考えると話したアルゴリズムの働きます。

ほとんどの種類プログラミングの理論部分証明が有用しないでくだけの直感できる、すぐに"このアルゴリズムはO(n^2)を走らせることができませんのでこれらの百万のデータポイント".でも、最小の加工の大量のデータだけを走らせることになります。

考えを迅速に複雑さの理論は私にとって重要事業データ処理情報システム、グラフィックプログラミングの理解アルゴリズムです。が最も有益な教訓の切り替えができるCS研究との比較にどんは自分で勉強します。

コンピュータのないスマートも好きなことを突き詰めれするように指示しています。コンパイラ最適化コードを少しだしているのですがな最適化アルゴリズムヒトの脳の異なる理由を理解する必要がある大きなO.の検討を計算フィボナッチ数列.かしF(n)=F(n-1)+F(n-2)、はじめ1,1簡単に計算下記の番号のなかでは、リニアます。だいコンピュータで計算する算式に(再帰的に)するのではなく、リニア(少なくとも、欠かせます。なんか、私たちの脳を最適化アルゴリズムがコンパイラはできない。だから アルゴリズム なります。

その後、研修、スポットの脳を最適化するだ明らかで、時にコードが効かないパターンの悪い、良いアルゴリズム(計算の複雑さです。基本的には、コンと複数のもの

  • 理解executionalパターンやデータ構造とどのような影響を与えている時間はプログラムのニーズを仕上げ
  • 電車の心の中のスポットへの潜在的問題アルゴリズムができる非効率大規模データセット。や理解の結果のプロファイリング;
  • 学習-知的アルゴリズムによる低減その計算複雑;
  • お客様ご自身でご用意して面接の社)

そして非常に重要です。だから評価方法の長いアルゴリズムにつなげて行かれればと思い、それまで文書も遅い。について考えるとcompuational複雑さの書き込みアルゴリズムそれは、常に心がプラグインです。

このことは特に、多くの場合ではアプリが作を自分のデスクトップコンピュータ、さまざまな運転条件に対してデータセットに対応する必要性があり、いかに迅速にアプリの対応一口かじると閉じ込められていたライブである何十万人もの人が使用しています。

あり、使用頻度の高Big-O記法、いや、使える思考プロセスでの表記です。主なく開発者の組織(s)私は頻繁に理解します。まいるつもりではないんですけれどをdisrespectful方々には、私の経験、知識のもとめたものが図である。る"などの男性から男の子".

のだろうかこの問題をできるだけ受信"はい"。で爆の設定者の理解の計算複雑性はほぼ同等の人々の考えで重要である。なので、誰も答えはなかな質問に答えているかどうかわかないスキップへ次の問題ではなくポーズに対応いたします。ただの思い;-)

ある時点をするには、以下の方法がありますの抱える諸問題を必要とする考えます。多くの現実世界の問題を必要とする操作の大型セッタ---

例:

  • マップーケーションにござい---Googleマップについてはどのように捉えてい工程の路線データの世界を描く。とに必要なものを描画します。
  • 物流用...思考の旅行売上高の男性ステロイド
  • データマイニング...すべての大きな企業での開催は難しい状況ですが、あなたは何点ぐらいになると思い鉱山のデータベースを含む100テーブル10m+列をとって有用な結果は以前の動向を取得し古い!?

履修計算の複雑さまを分析し、選択/作成アルゴリズムの効率的なシナリオ.

ようすなど簡単なものを削減する係数というからT(3n)をT(2n)することで大きな違い場合は"n"で測定する日でない場合。

あの良いアドバイスをここからほとんどのプログラマは使い続けていらっしゃる方も多い複雑さを知ります。

しかしを行うという理解の計算複雑性はきわめて重要な分野でのゲーム!ありますので聞いたことで、"なし"まで、あらゆる種類のものゲームプログラミング。

思ベットは非常に少数の専門家ものBig-Oなどのゲームできます。

使う複雑な計算、定期的に大きくで働いていの空間のドメインの非常に大規模なデータセットなどプロセスに関百万円、時には数十億の直交座標です。いったん打つ多次元問題の複雑さは実際問題としての欲張りアルゴリズムにするにはO(n)に一次元突然ャンO(n^3)三次元となんかくやしいじゃないデータを重大なボトルネックです。申し上げたように、 類似のポスト, また、大O記法が面倒な時を扱うグループの複雑なオブジェクトの異なるサイズです。の複雑性にも非常にデータに依存するので、典型的な場合を行うかによって、一般的な場合のためのもの アドホック アルゴリズム

また、検査アルゴリズムの下でプロファイラがそのままに設計しています。ています。私はほとんどが見つかのボトルネックを解くより良いアルゴリズムの調整をより改善プロセッサ速のです。

用により、さまざまな一般的なアルゴリズムおよびその複雑さん Sedgewicks作 両方の情報をキャンセルする人もいます。空間アルゴリズム O'Rourkes 本計算幾何学には優れています。

お通常の生活に近いコンピュータで適用すべきである概念の複雑さやその並行処となります。ることができます。キャッシュ干渉性をもつ.そういうことも得意なんですね。

あり、私の知識の選別アルゴリズムが手軽な一日があったので並べ替えスタックの学生に望んでいます。使用した統合うなものがquicksortはheapsort).時プログラミングまでを何でも分別のルーチンの図書館に提供いたします。(苦う本当に大量のデータが成立いたします。

を使用して行い理論プログラミングのすべての時間のほとんど決定するデータ構造を利用できるかどうかがうものは、他の多くの決定となる。

'あり'と'no'

あり Iを使用することが多いですが big-O記法 開発時の実行アルゴリズムE.g.ときに処理する必要があります10^3項目には、複雑さの最初のアルゴリズムはO(n log(n))との第一はO(n^3)までという最初のアルゴリズムはほとんどしながらリアルタイムの要算出します。

時には意識して NP複雑な授業 できます。できると実感することが可能停止を考える発明の効率的なアルゴリズムがNP完全問題では問題だと考えます。

no 私がいて上述の小さな部品の複雑さ理論。結果としているとは言い難いんで使っているminor-マイナがこれに取り組んでくれました。

ばいいのかを認めることがあり多くのソフトウェア開発プロジェクトなタッチアルゴリズム開発利用の洗練された。この場合複雑性理論のどちらがいいでしょうか?通常のユーザーのアルゴリズムの頻度で運用する言葉高速"、"遅い'、'x秒です。

@ン:ありがとうございます。具体的な思考プロセスさんにお話をうかがった。

ない場合がありますので明示的として良かったら、ここに座っており、Big-O記法のようなソリューションで作成し、問題認識とする操舵または見をより効率的に回答から離れの問題にアプローチかかる場合がございます.例えばO(n-n)に対しも高速化など検索に保存されている単語リストに対し保存trie(逆例)

見たことの差異はどのようなデータ構造んを選ぶか私の作品に数多く記録しています。

良い例と上司に知らせるいくつかのプログラムでの実証用の計算複雑性理論にこのボスはお願いできません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top