-
해시의 개념
해쉬함수
- 키 값을 수치(양의 정수)로 변환하는 함수
* 그 자체로 의미있는 수치가 아님
해쉬의 핵심은 해쉬 함수(Hash Function)입니다. 해쉬 함수는 입력된 키를 수치로 변환하는 함수로 고른 분포로 분산되어야 좋습니다. 입력된 키에 대응하는 위치를 해쉬 함수로 단번에 알아내기 때문에 검색 성능은 이론적으로 O(1) 즉 상수입니다. 이렇게 좋은 해쉬의 단점이라면 충분한 메모리 공간이 필요하다는 점과 충돌이 발생할 수 있다는 점입니다.
hash(Object) -> integer
obect에 저장된 내용을 기준으로 한 개의 정수를 생성하여 반환
빠른 비교를 위해 사용한다.
(1,2,3)이랑 저위에 거랑 똑같냐? -> 객체 안의 값을 하나하나 까서 보는게 아니라 해시 값을 이용해서 비교
hashable하지 않다 list같은 데이터가 변경될수있는 객체들