해결된 질문
작성
·
306
답변 1
1
안녕하세요 재윤님.
good hash function의 목표는 해시값을 고르게 분포되게 하는 것입니다. 그 이유는 공간 효율성도 있겠지만, 가장 중요한 이유는 시간 효율 때문이기도 합니다.
해시값이 고르게 분포되지 않으면 계속 겹치게 됩니다. 즉 충돌 collision이 발생하죠. collision이 발생할때마다 이를 해결해야 하는데, open addressing 방식이든 seperate chaining이든 어떤 방식을 사용하여 이 문제를 해결하든 추가적으로 시간이 소요됩니다.
그래서 좋은 hash function을 통해 최대한 해시값이 충돌하지 않는게 최우선이고, 그럼에도 불구하고 충돌이 발생하면 위의 두 가지 방법(open addressing, seperate chaining)을 통해서 해결하는 것입니다.
질문에 대한 답이 됐을까요!!?