시스템 클래스 HASH-TABLE — 해시 테이블
시스템 클래스 HASH-TABLE — 해시 테이블
어떤 키(key)를 주면 그에 대응하는 값(value)을 빠르게 꺼내고 싶을 때 쓰는 자료 구조가 해시 테이블이죠. Common Lisp의 해시 테이블 타입이 무엇인지 정리한 페이지예요.
클래스 우선순위 목록
hash-table, t
본문 (Description)
해시 테이블(hash table) 은 어떤 객체(키, key) 를 연결된 객체(값, value) 로 매핑(mapping)하는 방법을 제공합니다. 즉 키를 넣어 연관된 값을 얻어내는, 대표적인 연관 자료 구조예요.
Notes
표준의 의도(intent)는 이 매핑이 해싱 메커니즘(hashing mechanism) 으로 구현되는 것입니다. 예를 들어 The Art of Computer Programming, Volume 3의 Section 6.4 "Hashing" (pp. 506-549)에서 설명하는 방식 같은 거죠.
하지만 여기서 중요한 주의점이 있어요. 그런 의도가 있다고 해서, 표준을 따르는(conforming) 구현이 반드시 어떤 특정 기법을 써야 하는 것은 아닙니다. 즉 구현이 해시 테이블을 어떤 방식으로 구현하든 표준 호환에는 문제없어요. "해시 테이블"이라는 타입이 보장하는 것은 매핑의 동작이지, 내부 구현 방식이 아니라는 뜻이에요.