令和6年度 III-1

科目: 専門科目 / 分野: 情報工学部門 / 年度: 令和6年度

III-1 問題画像

出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」

データ数nの配列をソートするアルゴリズムで、時間計算量がO(n log n)となる場合として、マージソートの最悪計算時間などを選択肢から選ぶ問題。

解説

この問題で問われていること

各ソートアルゴリズムの最悪・平均計算時間から、O(n log n)となるものを選ぶ問題。

解き方

① 覚える: マージソートは最悪でもO(n log n)。挿入・バブル・選択ソートはO(n²)。クイックソートは平均O(n log n)だが最悪O(n²)
② O(n log n)になるのはマージソートの最悪計算時間だけ
③ ①

正解が正しい理由

マージソートは、配列を半分に分割して再帰的にソートし、併合する。分割の深さがlog n、各段の併合がO(n)なので、最悪の場合でも計算時間はO(n log n)である。したがって①が最も適切である。

各選択肢について

覚えるべきポイント

O(n log n)のソート: マージソート(最悪も)、ヒープソート(最悪も)、クイックソート(平均)。基本的なソート(バブル・選択・挿入)はO(n²)。

キーワード: ソートアルゴリズム、計算量、マージソート、クイックソート、O(n log n)、情報工学部門

出題履歴

同じ問題が計2回出題されています(令和3年度、令和6年度)。

類題(同じ論点の別問題)