2012-02-10 1 views
0

해시 필드에서 초보자입니다. 문자열 키를 색인화하는 프로그램을 작성 중입니다. 이를 위해, 내 varachar (512) 키의 처음 3자를 해시 한 다음 해시 된 값을 숫자 형식으로 가져옵니다. 숫자 값을 사용하여 데이터의 색인을 생성하려고합니다. 충돌이 일어나도록 허용합니다. 즉 두 문자열의 처음 세 문자가 같으면 동일한 해시 값을 가질 수 있습니다.문자열 형식의 키를 사용하여 해시 값을 저장하는 최상의 구조

일부 검색어가 특정 문자열 키를 찾으면 먼저 해시 한 다음 조회 테이블에서 해시 값을 확인합니다.

이 용도로 룩업 테이블을 저장해야합니까? 아니면 그냥 동적으로 해시 값을 계산하고 검색을 수행 할 수 있습니까?

그렇다면 성능 및 최적화를 주요 기준으로 고려하면 어떤 구조가 좋을지, 저는 C++을 사용하고 있습니다.

감사합니다.

+0

std :: unordered_map을 사용할 수 있습니다. – perreal

답변

2

STL에는 이미 unordered_map이 있으며 사용자 정의 형식 및 사용자 지정 해시 함수와 함께 사용할 수 있습니다.

관련 문제