알고리즘, 자료구조 공부

[자료구조] 집합 (Set)

콘요맘떼 2022. 2. 27. 20:40

집합 (Set)

  집합은 중복 없이 값들을 저장하기 위해 사용된다. (중복이 존재하지 않는다는 것이 집합의 가장 큰 특징이다.) 순서가 존재하지 않는 Non-Linear 자료구조이며 중복을 허용하지 않기 때문에 똑같은 값을 삽입하면 그 중 하나만이 저장된다. 집합은 빠른 탐색에 뛰어난 성능을 보이기 때문에 특정 값이 집합 내에 존재하는지 곧바로 확인할 수 있다.

  집합은 삽입할 데이터의 해시값을 구한 후 그에 해당하는 버킷에 데이터를 저장한다. 그를 통해 동일한 값에 대한 중복을 제거할 수 있으며 특정 값의 보유 여부를 빠르게 탐색할 수 있다.

 

※ Javascript에서의 집합

 자바스크립트에서는 집합이 기본적으로 구현되어 있다. 자바스크립트의 집합인 Set 객체는 원시 값과 객체 참조를 모두 저장할 수 있으며 값의 동일 여부는 === 연산의 결과값과 동일하게 처리된다. 그렇기 때문에 실제로는 프로퍼티의 값들이 모두 동일한 객체더라도 집합에 중복으로 삽입될 수 있다.

 

 

'알고리즘, 자료구조 공부' 카테고리의 다른 글

[자료구조] 리스트 (List)  (0) 2022.02.27
[자료구조] 맵 (Map)  (0) 2022.02.27
[자료구조] 덱 Dequeue  (0) 2022.02.26
[자료구조] 큐 Queue  (0) 2022.02.26
[자료구조] 스택 Stack  (0) 2022.02.26