2009-12-02 8 views
2

여러 해시 테이블 구현에서 버킷의 항목에 대해 "전치"또는 "전방으로 이동"과 같은 경험적 방법을 사용했습니다.해시 테이블 최적화

  1. 이러한 추론을 사용하면 어떤 이점이 있습니까? 나는 그것을 나 자신을 이해할 수 없었다.
  2. 해시 테이블/버킷 수준에서 어떤 다른 최적화를 수행 할 수 있습니까? 그 이유 및 이유는 무엇입니까?

해싱 기능을 최적화하십시오.

답변

4

충돌이 발생하여 버킷에 항목이 여러 개 있기 때문에 검사해야합니다. 일반적으로 액세스되는 항목이 목록의 초기에 있으면 편리합니다.

최근에 액세스 한 항목이 곧 다시 액세스 될 가능성이 있다고 생각하는 이유가 있으면 이러한 경험적 방법이 적합합니다. 뉴스 기사와 같은 것을 고려할 때 속보에 자주 액세스 할 가능성이 높습니다.

+0

가장 자주 액세스되는 항목이 목록의 맨 앞에 표시되는 * 자동 최적화 목록 *이라고도합니다. –

+0

로드 매니저 (Loadmaster)가 말한 것은 ... 플러스 : 스플레이 트리 (wiki!)에서 물건을 앞쪽으로 옮기는 것이 일반적으로 좋은 아이디어 인 이유를 살펴보십시오. –

+0

깨진 블로그 링크 수정 중. 해싱 및 다양한 충돌 처리 방법에 대한 자세한 토론 문서를 작성했습니다. http://techieme.in/hashing-in-detail-part-one 도움이 될 수 있습니다. – dharam