-1

やあみんな、私はここに来たばかりなので、できる限り明確にしようと思います。

現在の演習では、いくつかの並べ替えアルゴリズム間の時間差を示します。より正確な結果を得るために、いくつかの異なるサイズの配列 (ソート済み、ソートなし) を取り、結果を得ました。o、大きなOなどの意味を理解しています...私の質問は、マージソートのシータの意味についてです。より明確にするために、この特定のアルゴリズムの複雑さは n*log(n) であることを知っています。サイズ 2000 の配列でたとえば 15000 ミリ秒の結果を取得したときに何が起こるかはわかりません。関数 n*log(n) では、システムによって提供されるのと同じ数を取得するべきではありませんか? それとも私はホエイオフですか?

私の質問が理解できることを願っています ありがとう。

4

1 に答える 1

1

Big Oは、Nの特定の値の結果を表すのではなく、限界に近づくときのアルゴリズムのパフォーマンスの傾向を表すことを意味します。たとえば、アルゴリズムのパフォーマンスをf(x)= 2x +x^で表すことができる場合2、それからそれはx^2のBigOを持っています。

また、BigOはハードウェアに依存しません。

時間とBigOの関係を確認したい場合は、nの値を増やしながらアルゴリズムを何度も実行し、結果をグラフ化します。時間がBigOによって記述されたものと同様のグラフに従うことがわかります。

于 2012-11-20T17:02:22.460 に答える