基本情報技術者試験まとめ

基本情報技術者試験に出題される内容をまとめました。

整列アルゴリズム

交換法(バブルソート

 隣同士のデータの大小を比較して、大小の順番が逆であれば交換していくアルゴリズム

 データ比較回数は、n(n-1)/2回

 

選択法

 未整列のデータから最小値(最大値)を探して順に並べていくアルゴリズム。まず、先頭から順にデータの値を比べていき、最小値を探す。最小値が見つかったら、1番目のデータと入れ替える。次に、残りのデータから最小値を探し、2番目のデータと入れ替える。これを繰り返す。

 データ比較回数はn(n-1)/2回

 

挿入法

 未整列データから1つずつデータを取り出して、すでに整列済みのデータ列の適切な場所に挿入していくアルゴリズム

 

シェルソート

 シェルソートは挿入法を改良したもので、ある一定期間おきに取り出したデータから成る部分列をそれぞれ整列し、さらに間隔を詰めて同じ操作を行うアルゴリズム。最後に間隔が1になるまで繰り返してデータを並び替える。部分的に整列しておくことで、挿入の後に整列済みの要素をずらす作業を減らすことができ、処理が速くなる。

 

クイックソート

 まず基準となる値を決め、それよりも小さい値のグループと大きい値のグループに分ける。次に、それぞれのグループの中で同じ処理を繰り返して、分割できなくなるまで繰り返すことで、データを並び替えていくアルゴリズム

 

ヒープソート

 未整列のデータをヒープに構成した後、ヒープの根から最小値または最大値を取り出して整列済みの部分列に移すことを繰り返してデータを整列するアルゴリズム