同じ問題を解決する2つのアルゴリズムの実行時関数を指定しました。まあ言ってみれば -
最初のアルゴリズムの場合: T(n) = an + b
(nの線形)
2番目のアルゴリズムの場合:( T(n) = xn^2 + yn + z
nの2次)
すべての本は、時間の線形は二次よりも優れていると言っています、そしてもちろんそれはより大きなものn
です(どれくらい大きいですか?)。a
定数、、、、にb
基づいた大きな変化の定義をx
感じy
ますz
。
n
algo2からalgo1に、またはその逆に切り替える必要がある場合のしきい値を見つける方法を教えてください(実験によってのみ見つかりますか?)。誰かがプロのソフトウェア開発組織でどのように行われているのか説明していただければ幸いです。
私の質問を説明できるといいのですが、そうでない場合はお知らせください。
よろしくお願いします。
PS-実装はJavaで行われ、さまざまなプラットフォームで実行されることが期待されます。a
定数、、、b
を数学的にx
推定するのは非常に難しいと思います。プロのソフトウェア開発におけるこのジレンマをどのように解決しますか?y
z