
Key-Value 자료구조
·
내배캠/C++
DAT(Direct Adress Table)는 데이터 값을 직접적으로 키 값(Index)으로 사용해 데이터 정보를 저장하는 구조인데,이와 같은 방식은 데이터가 음수이거나 엄청 큰 수일 경우 활용할 수 없다는 단점이 있다. 이를 보완한 것이 Key-Value 자료구조이다. 내부 원리는 Hash 와 BST로 나뉘게 되는데 Hash를 먼저 직접 구현해볼 것이다.Hash-Table은 요소 값을 Key(Index)로 바로 사용하는 것이 아닌, HashFunction을 거쳐 만들어진 HashCode를 바탕으로 새로운 Key를 만들어 Bucket에 요소를 배치한다. 이때 요소들은 특정한 순서로 정렬되지 않는다. 동일한 HashCode를 가진 요소는 동일한 Bucket에 저장되며, 이로인해 요소를 검색, 삽입, 제거 ..