티스토리 뷰

00. TL;DR

  • 해시 테이블은 키를 해시 함수로 변환해 배열 인덱스에 저장하는 개념적 자료구조 입니다.
  • 딕셔너리는 언어에서 제공하는 구현체로, 보통 해시 테이블을 기반으로 동작합니다.

01. 해시 테이블은 개념이다

01.01. 정의

  • 해시 테이블(Hash Table)은 이론적인 자료구조로, 다음과 같은 방식으로 작동합니다:
    • 키를 해시 함수로 숫자 인덱스로 변환
    • 이 인덱스를 배열의 위치로 사용
    • 해당 위치에 값을 저장하거나 검색
예시:
해시 함수("name") → 42
→ 배열[42] = "Kyungsoo"

01.02. 특성

  • 키 기반으로 빠르게 값을 검색
  • 평균적인 시간 복잡도: O(1)
  • 충돌이 발생할 경우 체이닝 또는 오픈 어드레싱으로 처리

02. 딕셔너리는 구현체이다

02.01. 정의

  • 딕셔너리(Dictionary)는 프로그래밍 언어에서 제공하는 키-값 저장 자료형
  • 내부적으로 보통 해시 테이블을 사용하여 구현

02.02. 자바스크립트 예시

자료형 딕셔너리인가? 내부 구조
Object 해시 테이블
Map 해시 테이블
WeakMap 해시 테이블 (key는 객체만)
Set ❌ (값만 저장) 해시 테이블 기반

03. 해시 테이블 vs 딕셔너리

항목 해시 테이블 딕셔너리
개념 자료구조 (이론) 구현체 (언어 제공)
목적 빠른 검색과 저장 키-값 관리
구현 해시 함수 + 배열 + 충돌 처리 보통 해시 테이블을 기반으로 함
예시 CS에서 학습용 자료구조 Map, Object, HashMap, dict

04. 관계 요약

[자료구조 개념] 해시 테이블
    ↓ 구현
[프로그래밍 언어] 딕셔너리 타입 (Map, Object, HashMap 등)
  • Map딕셔너리이며, 내부적으로는 해시 테이블로 구현
  • Set은 딕셔너리는 아니지만, 내부적으로 유사한 구조(해시 기반)를 사용
  • TreeMap처럼 트리 기반 딕셔너리도 존재함 → 모든 딕셔너리가 해시 기반은 아님

05. 비유로 쉽게 이해하기

개념 비유
해시 테이블 냉장고라는 아이디어, 개념
딕셔너리 삼성 냉장고, LG 냉장고처럼 실제 제품 (구현체)

'컴퓨터 과학' 카테고리의 다른 글

튜링 기계  (1) 2025.04.09
컴퓨터는 왜 0과 1만 이해할까?  (0) 2025.04.03
괴델과 튜링  (0) 2025.03.31
부울 논리  (0) 2025.03.31
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함