[자료구조] 세트 (Set) & 맵 (Map)

강승구·2023년 2월 2일
0

자료구조

목록 보기
8/8

세트(Set)는 수학에서의 집합과 같은 개념으로 동일한 자료형을 모아놓은 자료구조를 말한다. 집합의 모든 원소(Key)는 중복이 허용되지 않는다.
세트는 삽입, 삭제, 탐색의 세 가지 연산을 지원하며 구현 방식에 따라 해시 셋, 트리 셋 등이 존재한다.


Set의 특징

  • 데이터를 비순차적(unordered)으로 저장할 수 있는 자료구조
    삽입(Insertion) 순서대로 저장되지 않는다.
  • 수정이 가능하다
  • 동일한 값을 여러번 삽입이 불가능하다. 동일한 값이 여러번 삽입되면 나중에 들어온 값으로 치환된다.
  • Fast Lookup 이 필요할 때 사용된다.
  • 고유값을 찾고자 할 때 사용된다.
  • set는 array에 저장된다(Bucket)

Set를 사용하는 경우

  • 중복된 값을 골라내야 할 때 (고유값을 얻고자 할 때)
  • 빠른 Look Up을 해야 할 때
  • 순서가 없는 데이터를 다루는 경우

Set 기본 함수

기본형태

  • set<T>: 원하는 자료형 및 클래스 T를 통해 생성

iterator(반복자)

  • begin(): beginning iterator를 반환
  • end(): end iterator를 반환

추가 및 삭제

  • insert(element): 세트에 element를 추가
  • erase(element): 세트에서 해당하는 element를 삭제
  • clear(): 세트에 있는 모든 원소 삭제

조회

  • find(element): element에 해당하는 iterator를 반환
  • count(element): element에 해당하는 개수를 반환

기타

  • empty(): 비어있으면 true 아니면 false를 반환
  • size(): 세트에 포함되어 있는 원소들의 수를 반환

맵의 개념

맵은 Key, Value가 존재하는 자료구조로 Key는 중복을 허용하지 않는 ID값이며, Value는 중복을 허용하는 Data 값이다.
또한 기본적으로 Map은 순서를 유지하고 있지 않는다.

profile
강승구

0개의 댓글