Computer Science/Algorithm
[Algorithm] Hash(해시) 란
Hash 란? 해시란 임의의 크기를 가진 데이터(Key)를 고정된 크기의 데이터(Value)로 변화시켜 저장하는 것이다. 키에 대한 해시값을 사용하여 값을 저장하고 키-값 쌍의 갯수에 따라 동적으로 크기가 증가하는 associate array이다. 키에 대한 해시값을 구하는 과정을 hashing(해싱)이라고 한다. 이때 사용하는 함수(알고리즘)를 해시함수라고 한다. 해시 값 자체를 index로 사용하기 때문에 평균 시간복잡도가 O(1)로 매우 빠르다. Hash 함수란? 위에서 설명한 것과 같이 키에 대한 해시값을 만드는 함수(알고리즘)이라고 한다. 계산이 복잡하지않고 키값에 대한 중복이 없고 해시값을 고르게 만들어 내는 함수가 좋은 함수이다. 특징 입력값이 일부만 변경되어도 전혀 다른 해시값을 출력한다...