본문 바로가기
CS/Data Structure

[Data Structure] Set

by sihyeong 2022. 10. 23.

Set

  • 비순차적이고 중복을 허용하지 않는 자료구조
  • 집합과 같다고 생각하면됨, 순서 x, 중복 x
순서 상관 없는 경우
빠른 look up 필요한 경우
중복된 값 관련 처리하는 경우

유용하게 사용할 수 있다.

Set 종류

  • HashSet
대표적인 Set 사용 방식
Hash 알고리즘을 기반으로 동작함

key값을 hash function을 거쳐 hash값으로 변경 후
hash값에 맞는 bucket에 저장하여 관리한다.

이러한 알고리즘 때문에
순서 x, 중복 x, 특정값 포함 확인 빠름 (Fast Lookup)

  • TreeSet
balance binary search tree인
Red-Black Tree를 기반으로 구성된다.

간단히 말해서 값이 한쪽으로 치우쳐지지 않는 Tree 사용한다는 말

Red-Black Tree 특성때문에 추가/삭제할 경우 추가작업이 들어가기 때문에

링크드 리스트보다 비효율적이지만,
검색/정렬은 TreeSet이 더 좋다.

출처 : 레드-블랙 트리 - 위키백과

중복 데이터 저장 X
순서 보장 X

단, 오름차순으로 데이터를 정렬함
  • LinkedSet
HashSet에서 순서가 보장되지 않는 단점을 보완하기 위해 사용

데이터가 들어온 순서대로 저장하고 관리한다.

중복데이터 저장 X

'CS > Data Structure' 카테고리의 다른 글

[Data Structure] 카운팅 정렬  (0) 2023.07.01
[Data Structure][JAVA]DFS, BFS 구현  (0) 2023.06.26