[자료구조] Set

Taeha Kim·2020년 8월 14일
0

Data Structure&Algorithm

목록 보기
5/9
post-thumbnail

Set

  • Set는 데이터를 비순차적(unordered)으로 저장할 수 있는 순열 자료구조 (collection)입니다.
    비순차적이라 데이터 삽입 순서대로 저장되지 않아, 특정한 순서를 기대할 수 없습니다.

  • Array,List와 마찬가지로 Set는 수정이 가능합니다.

  • 중복을 허용하지 않아서 같은값을 삽입하면 되면, 마지막에 삽입한 값 하나만 저장 됩니다.

  • 빠른 Lookup(데이터가 있는지 탐색)이 필요할때 주로 쓰입니다.

Set의 내부 구조

Set 내부에 데이터들이 저장될 때는 다음과 같은 과정이 진행 됩니다.


1) 저장할 데이터의 Hash값을 구한다.
2) Hash값에 해당하는 공간(Bucket)에 값을 저장한다.

해시 테이블을 사용해서 해시값을 기반으로 데이터를 저장하기 때문에 특정값을 포함하는지 확인하는 작업이 매우 빠릅니다.

언제 사용하면 좋을까?

  • 중복된 값을 골라내야 할때
  • 특정값이 있는지 빠르게 확인해야할때 (look up)
  • 순서가 상관 없을때
profile
함께 성장하는 개발자가 되고 싶습니다.

3개의 댓글

comment-user-thumbnail
2021년 3월 24일

선생님~!
"중복을 허용하지 않아서 같은값을 삽입하면 되면, 마지막에 삽입한 값 하나만 저장 됩니다."
이 부분 잘못된것같아요.
마지막값이 삽입되는 것이 아닌 기존값이 존재하고 새로운 값이 들어가지 못하고 팅겨나오는 형태라고 표현 하는 것이 정확한 것 같습니다

2개의 답글