본문 바로가기

C/부스트코스

[부스트코스]자료구조 퀴즈 7

반응형

Q>

해시 함수는 어떻게 만들 수 있을까요?

 

A>

해시 테이블에서 데이터는 각 데이터 값이 고유한 고유 인덱스 값을 갖는 배열 형식으로 저장됩니다.

원하는 데이터의 색인을 알면 데이터 액세스가 매우 빨라집니다.

해시 함수를 사용하여 버킷 또는 슬롯의 배열로 인덱스를 계산합니다.

 

uint32_t jenkins_one_at_a_time_hash(char *key, size_t len)
{
    uint32_t hash, i;
    for(hash = i = 0; i < len; ++i)
    {
        hash += key[i];
        hash += (hash << 10);
        hash ^= (hash >> 6);
    }
    hash += (hash << 3);
    hash ^= (hash >> 11);
    hash += (hash << 15);
    return hash;
}

 

https://www.boostcourse.org/cs112

 

모두를 위한 컴퓨터 과학 (CS50 2019)

부스트코스 무료 강의

www.boostcourse.org

 

반응형