私は実装されたアルゴリズムを実行します。各入力データに基づいて実行時間を記録しました。たとえば、最初の列の下の画像では入力サイズが使用され、2番目の列では入力サイズに基づく実行時間が使用されます。とにかくこのアルゴリズムの時間複雑さが入力と実行時間に基づいて指数関数的であることを見いだすことはありますか?時間の複雑さを見つける方法は指数関数的ですか?
おかげ
私は実装されたアルゴリズムを実行します。各入力データに基づいて実行時間を記録しました。たとえば、最初の列の下の画像では入力サイズが使用され、2番目の列では入力サイズに基づく実行時間が使用されます。とにかくこのアルゴリズムの時間複雑さが入力と実行時間に基づいて指数関数的であることを見いだすことはありますか?時間の複雑さを見つける方法は指数関数的ですか?
おかげ
最初に、アルゴリズムの解析に頼るべきです。
2番目のデータ範囲が短すぎて、カーブの動作を確実に判断できません。
一般的に、2番目の列の値の対数を計算できます。指数の場合、Log(F(x))
のプロットとx
のプロットは、(数式が編集されているため)ほぼ公式になるはずです。(式が編集されているため)
あなたが解決しようとしている問題は何ですか? この特定のインスタンスに対して指数関数的であるかどうかを確認したいのですか、これを行う汎用的な方法を見つけようとしていますか?
最初の1、 利用の場合: http://www.shodor.org/interactivate/activities/SimplePlot/
であなたのポイントを入れ
1,53
2,97
3,155
4,259
5,452
6,920
ヒットプロットを。 グラフの形から指数関数的に見えます。
あなたは一般的な方法でこれを解決しようとしている場合は、見て: https://www.khanacademy.org/math/algebra/introduction-to-exponential-functions/exponential-growth-and-decay/v/constructing-linear-and-exponential-functions-from-data あなたはそれはあなたがのparamsは、関数の与えられた形のためのものであるかを見るために試みることができ、指数関数的だと推測されている場合。また、エラーを考慮する必要があります(つまり、異なる点で機能が若干異なる場合があります)。