株初心者必見

フィボナッチ数列の計算量について

フィボナッチ数列の計算量について
第1章 Pythonの基本とデータ構造を知る
1.1 プログラミング言語の選択
目的によって言語を選ぼう
Pythonを選ぶ理由
変換方式の違いを知ろう
1.2 プログラミング言語Pythonの概要
Pythonの特徴
Pythonを実行する
対話モードでPythonを使う
スクリプトファイルへの保存
文字コードについての注意
コメント
1.3 四則演算と優先順位
Pythonにおける基本的な計算
小数の計算
データの型を調べる
1.4 変数と代入、リスト、タプル
変数
代入
リスト
タプル
1.5 文字と文字列 フィボナッチ数列の計算量について
文字と文字列の操作
文字列の連結
1.フィボナッチ数列の計算量について 6 条件分岐と繰り返し
条件分岐
長い行の記述方法 フィボナッチ数列の計算量について
繰り返し
1.7 リスト内包表記
リストの生成
条件を指定したリストの生成
1.8 関数とクラス
関数の作成
値渡しと参照渡し
変数の有効範囲
オブジェクト指向とクラス
理解度Check!

フィボナッチ数列の計算量について

コンピュータサイエンスでは、アルゴリズム(時間複雑)の時間計算量は、定性的なアルゴリズムの実行中の時間を記述する関数です。 これは、アルゴリズムの入力文字列>の長さを表す値の関数です。 第1の低次項及びこの関数の係数を含まない一般的な大きな時間複雑性Oシンボリック表現。 このようにして使用される場合、時間複雑性は無限大に近づくときに、ケースの大きさを調べることによって、入力値>も漸近呼ぶことができます。 例えば、多くとも5N3 + 3Nタイムアウトを実行するアルゴリズムは、任意のサイズの入力を(N0より大きくなければならない)nである場合、それは必要> Biが、その漸近的時間計算量はO(N3)です。
------出典ます。https://zh.wikipedia.org/wiki/%E6%97%B6%E9%97%B4%E5%A4%8D%E6%9D%82%E5%BA%A6

時間複雑さを計算するために、我々は、通常アルゴリズム演算部を量を推定し、各セルの動作時間が同じです。 したがって、総走行時間の数とアルゴリズムの動作部が最も一定の率で異なります。
STEP:
1、加算器一定周波数による代替的ステートメントすべてのアイテム
2(1)で結果、アイテムの唯一の最も数
の最高次項係数が1でない場合3は、次いで係数を除去(または変更されます1)

:あなたが理解していない場合は、あなたと、詳細に説明した例の作者に読ん
例1:

:私たちは、文の1へと呼ばれている
、(N + 1)二つの変数の合計として定義+ N(1,1+決定され、中間循環理論は、それが実際に最後のNである必要があり、+ 1のN倍でありますN倍に等しいが決定される。1が0〜N N + 1であり、時間が合計ループ変数N)インクリメントする
2を、N + N(N + 1)+ N N(ここでは第二に第一のループで表されますサイクル、N回の合計、それが判断し、Nの時間を定義するのと同じサイクルの第一の層、次いで決意回数N回のような別々に分析文第二のループに最初のループのN回Nの合計よう同様の(N + 1)後方N N)
3、N。 N(実際の合計がN回Nであるように、第2の循環サイクルにシーケンシャル文N層の最内層の第二層にリサイクル N回)
、次に数字を追加します。
1+ (N + 1)+ N + N + N(N + 1) N + N N N * Nのエントリ最高保持
ので、Oのアルゴリズムの時間複雑度(N ^ 2)
実施例2:

このプログラムのフラグメントを参照してください、あなたは答えを得るためのものではないですか。 あなたが慎重でない場合は、あなたの答えがでなければならない O(N) 、右?
答えはあなたを伝えるために O(log(N)) 答えていない、あなたは私と一緒に皆の下で、次の分析、自分の味の数に外観にNの正確な値のかわりに1つを試すことができます:
1、1 +ログ(N)+ 1 +ログ(N)
2、(N)のログ
の判断をするために、実際にここで、それが増加ループ変数になりますが、ここでは i=i*2 2 ^ X = Nその後、X = LOG2(N)xは、計算の複雑で、回数です内部に、一般的な塩基番号が省略されている、すなわち直接書き込みログ(N)、他の計算方法は、上記説明と一致しています。
例3:

答解析:
1、1 + 1 + N + N
2.N N +(ログ(N)+1)+ Nlog(N)
3、Nlog(N)
時間計算量O(Nlog(N))
から、あなたがしている深刻な場合は私はあなたが時間の複雑さを計算する方法を理解することができるはずと信じてここにダウン見て、その後、私は自分自身の単純化を信じて任意のプログラムは、彼らが、実質的に大きなO-オーダーを分離することができるはずです。
次に、ここで説明するアルゴリズムの時間計算量について。

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次
閉じる