1

以下のコードの基本操作を数える必要があります。

public static int findmax(int[] a, int x) {
    int currentMax = a[0];

    for (int i = 1; i < a.length; i++) {
        if (a[i] > currentMax) {
        currentMax = a[i];
        }
    }

    return currentMax;
}

基本的な操作 (変数に値を代入するなど) には の値が与えられることを理解しています1。したがって、ここでは、プリミティブ操作のアカウントへの割り当てa[0]が実行されます。currentMax1

for ループ内: に割り当てる1i、 も考慮され1ます。とi < a.length、 とi++n - 1それぞれ (すなわち2(n-1)) です。しかし、私はそのif声明をどのように処理するかについて混乱しています。最悪のケースを探していることは承知しています (そのため、ifそのブロック内にネストされた条件とステートメントを実行する必要があります)。しかし、これが原始的な操作の観点からは何なのかわかりません。

4

1 に答える 1