私は常に標準のWord RAMモデルをあなたの感覚で「最高」だと考えてきました。Cのような言語(またはJavaなどのゆるい同等物)でプログラミングすることを学んだ人は誰でも、コンピューターについて考えるときにこのモデルを念頭に置いています。
もちろん、あなたが働く政権によっては、一般化が必要な場合があります。外部メモリモデルは、覚えておくべき重要なモデルです。ディスクを操作するときだけでなく、キャッシュを理解する(気にする必要がある)場合にも適用されます。もちろん、純粋に外部メモリモデルは計算をカウントしないため、あまりにも真剣に扱うことは無意味な結果につながる可能性があります。Word RAMのもう1つの一般化は並列処理ですが、現時点では少し混乱しています:)
実行時間のアルゴリズムは、実行時間のアルゴリズムよりも確実に高速に実行されます。前者はが大きいほど高速になることは数学的な事実です:)問題のサイズは、これが問題になるほど大きくない場合があります。ソートを実行するので、合理的な比較ベースのアルゴリズムを使用して基数ソートに勝つことは非常に困難です。O (n lg n )n nO(n)O(nlgn)nn
アルゴリズムと「現実」に関する最後の発言:達成しようとしていることを常に念頭に置いてください。アルゴリズムで作業するとき、私たちはそこにある最も難しい問題を解決しようとしています(例えば、50変数のSAT、または10億の数字のソート)。200個の数字を並べ替えたり、20個の変数でSATを解こうとする場合、派手なアルゴリズムは必要ありません。それが、実際のほとんどのアルゴリズムが些細なものである理由です。これはアルゴリズム研究について悪いことではありません。たまたま実際の問題の1/1000という珍しいことに興味があります。