본문 바로가기

IT 로그

해쉬 함수 HASH FUNCTION

728x90
반응형

해시(Hash)
 - 검색 키를 통해 배열에서 값을 찾는 함수 
 - 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑 하는 함수 
 - 해시 테이블 : 해시가 사용하는 키와 값이 저장된 데이터 자료 구조 
ex ) index가 키 값이 되는 Hash Table 
 - 큰 파일에서 중복되는 레코드를 찾을 수 있기 때문에 매우 빠른 데이터 검색을 위한 소프트웨어에 사용됨 
 

#hash table 나머지법 
size = 500 
hashtable  = []

import random
random.seed(40)
for i in range(tablesize):
    hashtable.append(random.randint(1000,9999))
ht = [0]*tablesize

* 충돌처리 

#Code 나머지법 
#Hash Function 
def HashFunction(key):
    address = key % tablesize
    if bucket[address] != 0:
        address = collision(address)
    else:
        print(key, address)
    bucket[address] = 1
    print(bucket)
    print(address, hashtable[address])

def collision(address):
    while bucket[address] != 0:
        address = address + 1
        if bucket[address] == 0:
            break
    return address

 

print('1000 try')
HashFunction(6657)
print('2000 try')
HashFunction(4762)
print('3100 try')
HashFunction(657)

반응형