集合型(セット)と重複排除とは?しゅうごうがた
集合型(セット)と重複排除とは、同じ値を二つ以上持たず、要素の順序も保持しないデータ構造。追加時に既存かどうかを判定して重複を捨てるため、要素数が増えても所属判定が速いまま保たれ、和・積・差の集合演算を備える実装が多い。
最終更新:2026-10-06
情報処理安全確保支援士を最短で暗記・合格する →背景
配列で重複を除こうとすると、追加のたびに全要素と突き合わせる必要があり、件数の二乗に比例して時間が伸びる。ハッシュ表や平衡木で「あるかないか」だけを速く答える構造を用意すれば、重複排除と所属判定が同じ道具で片付く。ログから実利用者数を数える、既知の悪性ハッシュ値に一致するかを引くといった処理は、この構造があることを前提に組まれている。
具体例
Python の set や Java の HashSet に認証ログの利用者IDを流し込めば、重複が落ちて実利用者数が得られる。既知マルウェアの SHA-256 一覧を集合に置き、検体のハッシュ値を引いて照合するブラックリスト方式も同じ形。
試験での引っ掛け
集合演算は使えるが、添字による位置指定と登録順の保持はできず、順に取り出せる前提で書くと処理系や実装によって並びが変わる。また重複は消えても「何回出たか」は残らないので、頻度が要るなら多重集合や計数表を使う。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。