n個の数の配列が与えられます。ここでnは偶数です。これらのn個の数の最大値と最小値を決定する必要があります。必要な比較を知る必要がありますか?
質問する
634 次
3 に答える
4
3*n/2-2
それは比較を使用して行うことができます。
についてn == 2
は、2つの数値を比較するだけです。ここで、最初のn-2
数値に最小値と最大値があるとします。残りの2つの数値を比較してから、大きい方の数値を前の最大値と比較し、小さい方の数値を前の最小値と比較します。
于 2013-03-14T15:39:47.710 に答える
3
O(n) 時間で実行できます。
参照用にこのリンクをチェックアウトできます
于 2013-03-14T15:36:11.577 に答える
1
1.5n
ソートされていない配列の場合、近似比較で実行できます。min
配列の要素のペアを比較し、と localを格納することでそれを行うことができますmax
。n/2
(ローカル) 最大値と最小値を見つけるために比較を行いましn/2
た。n
したがって、このフェーズの合計。
ここで、ローカルの最大値と最小値を調べて、グローバルな最大値と最小値を見つけます。これもn/2
比較対象になります。したがってn + n / 2 = 1.5n
。
配列がソートされている場合、最小の数値は位置 0 にあり、最大の数値は位置 N - 1 にあるため、比較しなくても見つけることができます。
于 2013-03-14T16:02:12.463 に答える