データ構造,アルゴリズム,デザインパターン総合スレ 4 (105レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
24: 2021/02/27(土)15:27:53.95 ID:cGuo4IiQ(1/2)調 AAS
ウィキペディアの焼きなまし法
https://ja.wikipedia.org/wiki/%E7%84%BC%E3%81%8D%E3%81%AA%E3%81%BE%E3%81%97%E6%B3%95
にある擬似コードの
if nextE < bestE then
の部分はもしかして間違ってたりします?
この評価だとnextEが悪化するたびbestが更新されるように見えますが
37(1): 2021/10/05(火)00:11:45.95 ID:wQtjKuKa(1/2)調 AAS
そのアルゴリズムの計算時間を f(n) とし、オーダーが O(g(n)) と表記される場合、定数cがあって、n がある程度大きくなれば常に f(n) <= c * g(n) が成り立つ。言い方を変えれば計算時間は最悪のケースでも c * g(n) を超えない
g(n) が N (Nの1次式) なら計算時間は c * N を超えないし
g(n) が N^2 (2次式) なら c * N^2 を超えない
c はマシンのスペックや環境で変わるので具体的な数値は追求しない
Nの入力サイズが10倍、100倍、...、1万倍となったときに計算時間がおおよそどのくらいのスピードで増えるか見積もれれば良い
O(N) なら10倍、100倍、...、1万倍
O(N^2) なら100倍、1万倍、...、1億倍..
詳しくはアルゴリズムの教科書か
https://ja.wikipedia.org/wiki/ランダウの記号
76(1): 2022/09/18(日)14:40:45.95 ID:suxGffYa(1)調 AAS
C++の連結リスト(list)の削除に必要な計算量がO(1)であると大槻の本に書いてあるのですが、
削除したい要素を探すのにO(N)必要だと思います。
これって単に、指定した位置の要素を削除するという操作だからO(1)ということですか?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s