アルゴリズムとプログラミング

基本情報技術者試験クイックソートの平均計算量と、最悪計算量の

テクノロジ系アルゴリズムとプログラミング難易度:normal
クイックソートの平均計算量と、最悪計算量の組合せとして正しいものはどれか。
平均O(n)で最悪はO(n log n)である
平均も最悪も常にO(n log n)である
平均O(n log n)、最悪はO(n^2)
平均O(n^2)で最悪はO(n log n)である
正解
ウ.平均O(n log n)、最悪はO(n^2)

クイックソートは基準値で分割し再帰する。分割が均等に近い平均はO(n log n)だが、毎回片側に偏る最悪はO(n^2)となるため正しい。

?選択肢ごとの解説

ア ×平均O(n)は比較ソートの下限O(n log n)を下回り得ず、最悪O(n log n)も偏り時の劣化を見落とした誤りである。
イ ×平均も最悪もO(n log n)なのはマージソートやヒープソートであり、クイックソートは最悪でO(n^2)に劣化する。
ウ ○クイックソートは基準値で分割し再帰する。分割が均等に近い平均はO(n log n)だが、毎回片側に偏る最悪はO(n^2)となるため正しい。
エ ×平均O(n^2)は実態より悪く見積もった誤りで、最悪をO(n log n)とする点も偏り時の劣化を見落としている。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0032

【基本情報技術者試験】クイックソートの平均計算量と、最悪計算量の|正解「平均O(n log…」|ukamiru 過去問