채야미의 코드레시피🍳

해시테이블

STUDY/자료구조
해시테이블이란? 해시테이블이란 해시함수를 이용해 키를 값에 매핑하는 자료구조 구현 충돌 아무리 좋은 해시 함수라도 충돌을 피하기는 어렵다. 예측 가능한 범위 내에서 해시값이 나오고, 데이터와 짝지어지는 것이기 때문에 해시값이 중복될 수 있다. 👉 입력값이 달라도 똑같은 결과가 나오면 충돌 이를 다루는 방식은 체이닝(Chaining), 오픈 어드레싱(Open Addressing) 이 있다. 오픈 어드레싱은 탐사를 통해 ‘빈 공간을 찾아나서는’ 방식 체이닝은 충돌 발생 시 ‘연결’해가는 것 오픈 어드레싱 O(1) 체이닝 O(n) 오픈 어드레싱은 값이 뭉치는 클러스터링 이 발생할 수 있고, 체이닝은 메모리 오버헤드와 길어질 경우 탐색이 느려진다는 단점 C++, Java, Go는 체이닝을 택하고 Python, ..
ChaeYami
'해시테이블' 태그의 글 목록