셋 SET

2025. 1. 16. 16:26 · Algorithm/알고리즘 스터디

셋 SET

  • 데이터를 저장하는 추상자료형 (ADT)
  • 순서를 보장하지 않음
  • 데이터 중복을 허용하지 않음
  • 데이터 조회(search)가 List보다 빠름
명령 (밑에서 아래로) 판단 결과
add(10) 성공 10
add(20) 성공 10  20
add(30) 성공 10  20  30
add(10) 무시 : 이미 10이 존재하기 때문에 중복 X 10  20  30
contains(40) false : 40이 없기 때문에 10  20  30
contains(10) true :  10이 있기 때문에 10  20  30
remove(10) 성공 20  30

셋은 언제 사용할까?

1. 중복된 데이터를 제거해야할 때

ex) 스타트업 하면 떠오르는 단어를 여러 사람들에게 물어봤을 때 중복된 단어가 나올 수 있다.

 

2. 데이터의 존재 여부를 확인해야 할 때

용인시에서 '청년 전세자금대출 이자지원 사업' 공고

* 경기도에서 진행한 동일한 사업에 선정된 경우, 지원 대상에서 제외

경기도 사업 수혜자의 주민번호를 비교해서 확인한다. 

데이터 조회가 리스트보다 빠르기 때문에 리스트로 저장해서 비교하는 것보다 셋으로 진행하는 것이 좋다. 

 


Set 구현체

  • hash set
  • linked hash set (java)
  • tree set (java)
728x90

'Algorithm > 알고리즘 스터디' 카테고리의 다른 글

스택 Stack & 큐 Queue  (1) 2025.01.20
인터페이스 맵 MAP  (1) 2025.01.20
배열 Array 와 리스트 List  (1) 2025.01.20
디버깅  (0) 2025.01.20
시간 복잡도  (0) 2025.01.14
'Algorithm/알고리즘 스터디' 카테고리의 다른 글
  • 인터페이스 맵 MAP
  • 배열 Array 와 리스트 List
  • 디버깅
  • 시간 복잡도
따`ddah
따`ddah
    250x250
  • 따`ddah
    IT's ddah
    따`ddah
  • 관리    글쓰기
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Projects
        • Auto Post : SNS 자동 업로더
      • kmooc
        • 기계 학습 기반의 데이터 공학
      • Algorithm
        • [C] Do it! 자료구조와 함께 배우는 알고리..
        • 알고리즘 스터디
        • 코딩 테스트
      • Basic
        • 운영체제 OS
        • 컴퓨터구조
        • 소프트웨어공학 (UML)
      • DBMS
        • 데이터베이스 이론
        • MySQL
        • Oracle SQL
        • BigQuery
        • Yammer
      • Programming
        • Python
        • C
        • Java
        • React
        • JavaScript
        • R
      • 빅데이터
      • AI
        • 멀티미디어응용
        • 머신러닝
        • 인공지능
      • 자격증
        • Azure DP-900
        • Azure AI-900
        • SQLD
        • CSTS
      • 대외활동 및 인턴
        • 인턴
        • LG Aimers
        • Outta
        • 빅데이터 분석 학회 BDA
        • 세계시민교육연구소 청년단 GYIA
      • Tool
        • Git
        • IDE
      • 도서
        • IT
      • 그 외
        • 단축키
        • ✞
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    빅데이터분석
    오라클SQL
    js
    대학생학회
    리액트
    자료형
    티스토리챌린지
    sql
    print(f"")
    react
    취업준비
    이름나이
    javascript
    python
    Oracle
    input
    importturtle
    파이썬
    jsx
    자바스크립트
    dbms
    AI역량검사
    파이썬 챗봇 만들기
    BDA학회
    Py
    파이썬{}
    취업
    주석
    오블완
    대외활동
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
따`ddah
셋 SET
상단으로

티스토리툴바