web-dev-qa-db-ja.com

アルゴリズムの最良の上界と下界

私は最終試験のために勉強しています、そして私は以前の試験で持っていた質問を通り過ぎました。

質問では、ソートされていない整数の配列から最小値を見つけるように求められます。最悪の場合の問題に対して可能な限り最良の上限と最良の下限を提供する必要があります。

まず、このような例では、上限と下限が同じです(したがって、ビッグシータの観点から話すことができます)。最悪の場合、最小値がリストの最後にあるため、リスト全体を調べる必要があります。したがって、答えはBig-Theta(n)です。

これは正しくて良い説明ですか?

2
darksky

最悪の場合、最小値がリストの最後にあるため、リスト全体を調べる必要があります。

いずれにせよ、リスト全体を確認する必要があります。そうしないと、現在の最小値が実際に絶対最小値であるかどうかがわかりません。したがって、アルゴリズムは常にn回の反復を必要とします。

唯一の例外は、可能な値の範囲がわかっている場合です。たとえば、整数がすべて正であり、すでに1が見つかっている場合(停止できます)。ただし、それによって複雑さの議論が変わることはありません。

2
Thilo