알고리즘 과제중인데...

특정 포맷의( 쇼핑몰처럼 serial,name,category등) 레코드들을 파일에서 읽어들여 덤프를 한 다음

그 데이터들을 가지고 hashing 하는 내용인데... 문제는 test용 데이터의 갯수가 "1천만개 이상" 이라는 단서 뿐이라는 것입니다.

각 해시 테이블마다 최대 중첩수는 340개로 고정이구요, 그 이상이면 오버플로 입니당.

MAX 갯수가 어느정도 범주에 들어온다면 중첩가능 수 와 데이터 갯수를 비교해서 만족할만한 소수를 찾아서 mod 시도를 하면

될 것 같긴한데.....  (  아, Serial Number가 key값입니다. 자릿수 포맷 없고, 순차적이지도 않습니다. 랜덤으로 발생시킴 )


key값이 숫자인 관계로 mod연산이 가장 효율적인 것 같은데 최대 데이터 갯수를 예측할 수 없으니 함부러 정했다간 오버플로의 홍수를 맛볼 것이구요..

괜찮은 아이디어 없을까요? 아직 제대로 사용을 못해봐서인지.. 교과서에서 본 내용 이외엔 떠오르는게 없습니다.

당연히 버킷수가 적고, 오버플로가 적게 날수록 점수야 잘 받겠죠. 연산 속도는 덤이겠구요.



해싱을 처음 본 게 암호화라서... ( md5같은;; )

연산이 간략하고 효율적이면서도 중첩수가 적은 헤싱이라..... 어렵네요 +_+;;