자료구조(해쉬테이블 1)

2021. 4. 11. 23:12IT/데이타 자료구조

반응형

해쉬 테이블(Hash Table)

키(key)에 데이터(value)를 맵핑할 수 있는 자료 구조이다.

 

-해쉬(Hash) : 방대한 데이터를 고정 길이로 변환하는 것

-해싱함수(Hashing Function) : 키를 산술 연산으로 이용하여 데이터 위치를 찾는 함수

-해쉬 값(해쉬 주소) : 해싱함수의 결과물

-슬롯(Slot) : 한개의 데이터를 저장할 수 있는 공간

 

name1 = 'Andy'
name2 = 'Dave'
name3 = 'Trump'

hash_table = list([ 0 for i in range(10)])

def hash_func(key):
	return key % 7

def storage_data(data, value):
	key = ord(data[0])
    hash_address = hash_func(key)
    hash_table[hash_address] = value

storage_data(name1, '01078543598')
storage_data(name2, '01078334432')
storage_data(name3, '01034843598')

def get_data(data):
	key = ord(data[0])
    hash_address = hash_func(key)
    return print(hash_table[hash_address])

get_data(name2)
    

 

1. 데이터를 ord()함수를 활용하여 ascii코드를 변환

2. 키와 데이터를 해쉬 테이블에 저장 (맵핑)

3. 해쉬 테이블에 키값을 대응하여 해당하는 값 추출

 

python의 딕션너리 {key:value}는 해쉬 테이블 예라고 할 수 있다.

 

참고자료 : 위키백과, 패스트캠퍼스 알고리즘(기술면접 완전 정복 올인원 패키지)

 

반응형
post image post image post image post image post image post image post image