教えて!しごとの先生
教えて!しごとの先生
  • 解決済み

応用情報技術者試験 H24秋季 午前 問6 アルゴリズムの処理時間や問題の計算時間を比較するときに使用するオーダ記…

応用情報技術者試験 H24秋季 午前 問6 アルゴリズムの処理時間や問題の計算時間を比較するときに使用するオーダ記法の説明として、適切なものはどれか。ㅤ ㅤアㅤアルゴリズムが解に到達するまでの計算量の下限値を表す。 ㅤイㅤアルゴリズムがこれより遅くならないという計算量の上限値を表す。 ㅤウㅤアルゴリズムの解析では、主要項の部分を除いて比較する。 ㅤエㅤアルゴリズムを実現した場合の変数領域の大きさを表す。 正答:イ ウやエでない理由は解るのですが、イの正しさがしっくり来ません。 あるプログラムからオーダを算出する際には最長経路を取る、ということなのでしょうか? 例えば以下のJavaメソッドがあったとします。 int calc(int n) { ㅤif (Math.random() < 0.5) { ㅤㅤreturn 0; ㅤ} else { ㅤㅤwhile (n > 0) { ㅤㅤㅤn--; ㅤㅤ} ㅤㅤreturn 1; ㅤ} } この場合にはO(1)ではなくO(n)ということ?

続きを読む

120閲覧

知恵袋ユーザーさん

回答(1件)

  • ベストアンサー

    ビッグオー記法の定義は、そもそも計算量の上限を与えるということです。 この問題は、この定義を知っているかどうかだけです。下限については別途ビッグオメガ記法があります。計算量の評価として使われているところを見たことはありませんが・・・。 なお、条件分岐があるアルゴリズムにおいては、条件分岐の枝の双方で個別に計算量を見積もり、その最悪値(より大きい方)を全体の計算量とすることになります。つまり今回の場合で言えば、ifの条件にあった場合は、O(1)、そうでない場合は、O(n)です。したがって、全体はO(n)です。 O(1)+O(n)=O(n) などと表現する場合もあります。

< 自分のペースで、シフト自由に働ける >

パート・アルバイト(東京都)

この条件の求人をもっと見る

< 平日勤務で週末はリフレッシュしたい人におすすめ >

正社員×土日祝休み(東京都)

求人の検索結果を見る

もっと見る

この質問と関連する質問

    < いつもと違うしごとも見てみませんか? >

    覆面調査に関する求人(東京都)

    この条件の求人をもっと見る

    Q&A閲覧数ランキング

    カテゴリ: 資格

    転職エージェント求人数ランキング

    • 1

      続きを見る

    • 2

      続きを見る

    • 3

      続きを見る

    あわせて読みたい
    スタンバイプラスロゴ

    他の質問を探す

    答えが見つからない場合は、質問してみよう!

    Yahoo!知恵袋で質問をする

    ※Yahoo! JAPAN IDが必要です

    スタンバイ アプリでカンタン あなたにあった仕事見つかる