이론상 가장 빠른 O(1)의 자료구조..
예를 들어 설명하자면
index에 string 자료를 저장할때 len()을 사용해 자료의 길이에따른 index에 저장하는방식.
만약 len()이 index보다 크다면?
%를 써서 나머지를 구한 값의 인덱스를 쓰자!
만약 len()함수를 썼더니 한 인덱스에 여러 자료들이 들어간다면?
이 현상을 hash 충돌이라고 하며, open addressing, double hashing, chaining 등 해결할 수 있는 다양한 기법이 있다!
chaining 기법을 써서 (인덱스마다 linked list 기법을 사용) 저장하는데, len()이 모두 같아서 O(n)이라는 시간 복잡도에요..
수학적 알고리즘을 써서 len()이 같은 인덱스에 들어가지않게 최대한 값을 분산시켜서 저장하는것이 최대의 효율을 낸다!