본문 바로가기
Research/Computer Science

List, Set, Map, HashMap

by RIEM 2023. 3. 30.

자료구조 List, Set, Map, HashMap에 대해 알아보겠습니다.

자료구조
- 단순구조
    - 2진수
    - 정수, 실수
    - 문자, 문자열
- 선형구조
    - 리스트
    - 연결리스트
        - 단순연결리스트
        - 이중연결리스트
        - 원형연결리스트
    - 스택
    - 큐
- 비선형구조
    - 트리
        - 일반 트리
        - 이진 트리
    - 그래프
        - 방향 그래프
        - 무방향 그래프
- 파일구조
    - 순차 파일
    - 색인 파일
    - 직접 파일

List

리스트는 대표적인 선형적 데이터구조 입니다. 데이터를 찾을 때는 정수 인덱스로 찾습니다. 선형적인 구조이기 때문에 인덱스가 traversing을 통해 데이터를 찾아갈 수도 있습니다.

Set

Set은 중복도 순서도 없는 데이터 구조입니다. 수학의 집합(set)를 떠올리면 됩니다. Map과 무슨 차이가 있을까 생각할 수도 있는데, 일반적으로 map은 value의 중복을 허용하는 반면 set은 허용하지 않는다라고도 많이 알려져있습니다.

Map

키-값이 쌍으로 저장된 데이터 구조입니다. Key는 unique값 입니다. 순차적이지 않기 때문에 key를 아는 것이 중요합니다. key를 알면 바로 값을 추출할 수 있는 특징 덕분에 검색이 매우 빠릅니다. HashMap은 대표적인 map을 활용한 자료 구조입니다.

Summary

정리하자면 리스트는 선형적인 데이터 구조로 중복된 데이터를 넣을 수 있습니다. 왜냐하면 인덱스로 관리할 수 있기 때문이죠. 하지만 키-값 구조인 Set, Map은 키로 값을 찾아야 하는 특성상 키가 중복이 되면 안됩니다. Set은 집합 특성을 고려해 키, 값 모두 중복이 되지 않는 반면 Map은 값은 중복이 되어도 무관합니다.

'Research > Computer Science' 카테고리의 다른 글

OOP in Javascript  (0) 2023.04.04
ISO, TCP-UDP, TCP 3way handshake  (0) 2023.03.31
Parameter와 Argument의 차이  (0) 2023.03.30
MSA(MicroService Architecture)  (0) 2023.03.29
DB 인덱스  (0) 2023.03.28

댓글