技術士 過去問
令和3年度(2021年)
問12 (基礎科目「情報・論理に関するもの」 問12)
問題文
アルゴリズムの計算量は漸近的記法(オーダ表記)により表される場合が多い。漸近的記法に関する次の(ア)〜(エ)の正誤の組合せとして、最も適切なものはどれか。

このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
技術士 第一次試験 令和3年度(2021年) 問12(基礎科目「情報・論理に関するもの」 問12) (訂正依頼・報告はこちら)
アルゴリズムの計算量は漸近的記法(オーダ表記)により表される場合が多い。漸近的記法に関する次の(ア)〜(エ)の正誤の組合せとして、最も適切なものはどれか。

- ア:正 イ:誤 ウ:誤 エ:誤
- ア:正 イ:正 ウ:誤 エ:正
- ア:正 イ:正 ウ:正 エ:誤
- ア:正 イ:誤 ウ:正 エ:誤
- ア:誤 イ:誤 ウ:誤 エ:正
正解!素晴らしいです
残念...
この過去問の解説 (3件)
01
正解は3です。
基本的には多項式は乗数を一番大きいものを残して係数を消す、
対数関数や指数関数はそのまま残す、というのがオーダーの考え方になります。
ア:正しい
上記の考え方にのっとり、+1と5を消してn3を残したものです。
イ:正しい
基本的にはnlog2nのオーダーはO(nlog2n)です。
ただし、O(n)<O(nlogn)<O(n2)となることからO(n1.5)に近似できると考えます。
ウ:正しい
基本的にはnが十分大きいとき、n33nにおいてn3は計算量に影響しないため、O(3n)となります。なぜ4にしたのかはわかりませんがO(3n)とO(4n)は計算量としては等価とみなせます。
エ:誤り
anとnaは計算量としては明確に異なることからこれは成立しません。
参考になった数28
この解説の修正を提案する
02
オーダーに関する問題です。
べき乗が一番大きいもののべき乗がオーダーです。
ア:正
5n3+1のオーダーはO(n3)となります。
イ:正
log2n<nなので、
n<nlogn<n2となることから、O(n1.5)と近似できます。
ウ:正
nが十分大きいとき、n3 << 3nであるので、O(3n)です。
O(3n)とO(4n)は、オーダーとしては近似できます。
エ:誤
anとnaはオーダーが全く違います。
適切です。
オーダーによる近似ですので、桁が大体等しいかを考えます。
参考になった数10
この解説の修正を提案する
03
アルゴリズムの計算量に関する出題です。
オーダーの計算は以下のルールに従います。
1.一番大きい項以外は無視(例:4n3+3n2+5n+9 は 4n3 と考える)
2.定数倍の違いは無視 (例: 4n3 は n3 と考える)
3.計算結果をビックオー表記にする
そのあとでただし~という説明が書いてありますが、要はO表記されたものより計算量が少なければ=と表記しますよということを言っています。
(ア)5n3+1なのでn3が残ります。
(イ)nlog2nのオーダーはO(nlog2n)です。
ただし、O(n)<O(nlogn)<O(n2)になりますので、nlogn2O(n1.5)よりは低くなります。
(ウ)基本的にはnが十分大きいとき、n33nは3nが支配的になります。指数はそれだけ計算量が多いです。なので大体O(3n)となりますが3nよりは大きいのでO(4n)と表記しているようです。
(エ)2の2n乗は4nです。anとnaは計算量として雲泥の差があり指数のほうがかなり計算量が多いです。
以上より本選択肢が正解です。
アルゴリズムの計算量オーダーの見積もりは難しい暗記などが必要ないので、ぜひ身に着けて下さい。
参考になった数0
この解説の修正を提案する
前の問題(問11)へ
令和3年度(2021年) 問題一覧
次の問題(問13)へ