| [ CnUnix ] in KIDS 글 쓴 이(By): mimosa (mimosa) 날 짜 (Date): 2002년 7월 17일 수요일 오후 09시 33분 24초 제 목(Title): Re: 해시 함수에 관한 질문에도 답해주세요 gperf라는 툴은 안써봐서 모르겠습니다. perfect라고 자랑을 하니 얼마나 대단한건지 한번 알아보고 싶군요 제가 추천하는 hash function은 hashpjw입니다. Peter Weinberger's generic hashing algorithm이라는 설명이 붙어 있네요.. 드래곤 북이라고 알려진 compiler책 436page에 있습니다. #define PRIME 211 #define EOS '\0' int hashpjw(s) char *s; { char *p; unsigned h=0, g; for ( p = s; *p != EOS; p=p+1 ) { h = ( h << 4 ) + (*p); if ( g = h&0xf0000000 ) { h = h ^ (g >> 24 ); h = h ^ g; } } return h % PRIME } 아 이글도 도움이 됩니다. http://www.ddj.com/documents/s=962/ddj9604b/9604b.htm hash function을 이용한 실제구현은 자료구조 책보면 예제가 많습니다. ----------------------------ooO0o-- * . ^ --o0Ooo---------------------------- 잠못들때 파도소리가 귓속에서 울릴때 우리는 잃어버린 전설을 찾아 떠나야한다 |