[解決済み] 償却期間一定
2022-03-21 23:55:07
質問
アルゴリズムの時間計算量について話すとき、quot;Constant Amortized Time"は何を意味しますか?
どのように解決するのですか?
時間償却をわかりやすく解説
ある操作を100万回行ったとして、その操作のワーストケースやベストケースはあまり気にならない。気になるのは、その操作を100万回繰り返したときに、トータルでどれだけの時間がかかるかということだ。
つまり、「たまに」動作が非常に遅くても、「たまに」動作が遅いことが希薄になる程度であれば問題ないわけです。基本的に償却時間とは、多くの操作を行った場合に、1回の操作にかかる平均時間を意味します"。償却時間は一定である必要はなく、線形や対数の償却時間などでもかまいません。
mats の例で、動的な配列に繰り返し新しい項目を追加していく場合を考えてみましょう。通常、アイテムを追加するのには一定の時間がかかります(つまり。
O(1)
). しかし、配列が一杯になるたびに、2 倍の領域を確保し、データを新しい領域にコピーし、古い領域を解放します。割り当てと解放が一定時間で行われると仮定すると、この拡大処理には
O(n)
ここで、nは配列の現在のサイズです。
つまり、拡大するたびに、前回の拡大時の約2倍の時間がかかるわけです。しかし、その前に2倍の時間を待っていることになります。このように、拡大するたびにかかるコストは、挿入するたびにquot;spread out"することができる。つまり、長期的に見れば、1回の拡大のために必要な時間は
m
の項目は
O(m)
となり、償却時間(1回の挿入にかかる時間)は
O(1)
.
関連
-
[解決済み] O(log n)とは具体的にどのような意味ですか?
-
[解決済み] ゲーム「2048」の最適なアルゴリズムとは?
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み] ビッグ・オー、どうやって計算・概算するんだ?
-
[解決済み] ヒープの構築はどうして時間計算量O(n)になるのですか?
-
[解決済み] ある数字が2の累乗かどうかを確認する方法
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】アルゴリズムの時間複雑性を求めるには?
-
[解決済み] 一意な(繰り返しのない)乱数をO(1)で?
-
[解決済み] 2^nとn*2^nは同じ時間複雑性か?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2つの緯度経度点間の距離を計算する?(ハバーシンの公式)
-
[解決済み] テールコール最適化とは何ですか?
-
[解決済み] 円周率の計算が正確かどうかを判断するにはどうしたらよいですか?
-
[解決済み] 短縮URLの作成方法を教えてください。[クローズド]
-
[解決済み] GenerativeアルゴリズムとDiscriminativeアルゴリズムの違いは何ですか?[クローズド]
-
[解決済み] Googleの "Did you mean? "はどうなっているのか?アルゴリズムの仕組みとは?[クローズド]
-
[解決済み] 木の深さと高さはどう違うのですか?
-
[解決済み】大きなӨ記号は、具体的に何を表すのですか?
-
[解決済み] DijkstraのアルゴリズムとA-Starの比較は?
-
[解決済み] Clojureでは、どのような場合にリストよりベクトルを使うべきですか、またその逆は?