해시 테이블 (Hash Table)

  1. 정의:

    • 대량의 데이터를 효율적으로 관리하고 빠르게 탐색하기 위한 자료구조.
    • 데이터를 Key-Value 쌍으로 관리.
  2. 특징:

    • Key를 통해 데이터를 바로 검색하므로 빠른 조회 속도를 제공.
    • 일반적인 배열보다 많은 메모리를 사용.
    • 데이터를 배열처럼 인덱스 기반이 아닌, Key를 기준으로 저장.
  3. 비유:

    • 전화번호부에서 이름(Key)을 검색하여 전화번호(Value)를 찾는 방식.

맵(Map)의 개념 및 블루프린트에서의 구현

  1. 맵(Map)의 정의:

    • 맵은 블루프린트에서 Key와 Value를 한 쌍으로 가지는 자료구조.
    • Key는 고유해야 하며, 중복될 수 없음.
  2. 맵 생성 및 설정:

    • Key와 Value의 타입을 설정 가능.
      • 예: Key - Integer, Value - String.

맵 관련 주요 기능

  1. ADD:

    • 새로운 Key-Value 쌍을 추가.
    • Key가 중복될 경우 기존 값을 덮어씀.
  2. REMOVE:

    • 특정 Key에 해당하는 데이터를 삭제.
    • 성공적으로 삭제 시 True 반환.
  3. FIND:

    • Key를 이용하여 데이터를 검색.
    • 검색 결과가 존재하면 해당 Value를 반환하며, True를 반환.
  4. CLEAR:

    • 맵의 모든 데이터를 삭제.
  5. IS EMPTY / IS NOT EMPTY:

    • 맵이 비었는지 확인.
    • 비었으면 True, 아니면 False.
  6. LENGTH:

    • 맵에 저장된 Key-Value 쌍의 개수를 반환.
  7. KEYS, VALUES:

    • KEYS: 모든 Key를 배열로 반환.
    • VALUES: 모든 Value를 배열로 반환.

Contains와 Find의 차이

  1. Contains:

    • Key가 맵에 존재하는지 여부만 반환 (True / False).
    • 값을 반환하지 않음.
    • 주로 조건문(Branch)과 함께 사용.
  2. Find:

    • Key가 존재할 경우 해당 Value를 반환.
    • 값을 확인하는 동시에 데이터 검색에 적합.

데미지 합산기 구현

  1. 개요:

    • 특정 캐릭터의 이름(Key)을 기반으로 데미지(Value)를 관리.
    • 이미 존재하는 Key에 추가 데미지를 합산.
  2. Contains 기반:

    • Key가 존재하는지 확인.
    • 존재하지 않으면 새로운 Key-Value 추가.
    • 존재하면 기존 Value에 데미지를 합산.
  3. Find 기반:

    • Key를 검색하여 Value를 가져옴.
    • Value를 수정 후 업데이트.

맵 활용의 장점

  • 데이터를 Key로 직접 접근하므로 속도가 빠름.
  • 구조적으로 명확하며, 데이터 관리가 용이.

맵의 한계

  • Key가 고유해야 하며, 중복된 데이터를 Key로 저장 불가.
  • 메모리 사용량이 배열에 비해 높음.

profile
李家네_공부방

0개의 댓글