[Data Structure] Hash Table(2) - Implementation
2024. 4. 29. 16:10
CS/Data Structure
Swift에서 HashTable을 활용한 자료구조에는 Set과 Dictionary가 존재한다.이 중 Key-Value 쌍으로 데이터를 저장하는 Dictionary를 구현해 보자. 해당 포스팅에선 Dictionary를 Chaing방법과 Open Addressing 2가지 방법으로 모두 구현해 볼 것이다.여기서는 구현에 관해서만 다룰 것이기 때문에, 해시 테이블 이론에 관련한 것들은 이전 포스팅을 참고 바란다.https://seokyoungg.tistory.com/92 [Data Structure] Hash Table(1) - Concept만약 다음과 같은 데이터가 있다고 가정해 보자. 이들을 저장하기 위해선, 품목을 키값으로 매핑해 개수를 저장해야 한다. 즉, 품목이 인덱스화 될 필요가 있다. 이처럼 k..
[Data Structure] Hash Table(1) - Concept
2024. 4. 20. 17:12
CS/Data Structure
만약 다음과 같은 데이터가 있다고 가정해 보자. 이들을 저장하기 위해선, 품목을 키값으로 매핑해 개수를 저장해야 한다. 즉, 품목이 인덱스화 될 필요가 있다. 이처럼 key-value를 매핑하는 것이 "해시 테이블(Hash Table) ADT"이다. 해시 테이블 ADT를 자료구조로 구현하기 위해선, key 값을 정수값으로 매핑할 필요가 있다. 이러한 Key값을 해시 테이블의 인덱스로 매핑하는 것이 "해시 함수"(Hash Function)이다. 이때, 해시 함수의 결과값을 해시, 해시 값, 해시 코드라 부른다. 즉, 해시 테이블(Hash Table) ADT를 자료구조로 구현하기 위해 필요한 것이 해시 함수이다. 해시 함수의 결과값인 해시(해시 값, 해시 코드)는 해시테이블의 인덱스가 된다. 이렇게 인덱스를..