ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자료구조 해쉬 테이블2
    자료구조와 알고리즘 2020. 10. 25. 15:42

    1. 자료 구조 해쉬 테이블의 장단점과 주요 용도

    • 장점
      • 데이터 저장/읽기 속도가 빠르다. (검색 속도가 빠르다.)
      • 해쉬는 키에 대한 데이터가 있는지(중복) 확인이 쉬움
    • 단점
      • 일반적으로 저장공간이 좀더 많이 필요하다.
      • 여러 키에 해당하는 주소가 동일할 경우 충돌을 해결하기 위한 별도 자료구조가 필요함
    • 주요 용도
      • 검색이 많이 필요한 경우
      • 저장, 삭제, 읽기가 빈번한 경우
      • 캐쉬 구현시 (중복 확인이 쉽기 때문)
    1. 연습1: 리스트 변수를 활용해서 해쉬 테이블 구현해보기
      1. 해쉬 함수: key % 8
      2. 해쉬 키 생성: hash(data) << Python 내장함수
    hash_table = list([0 for i in range(8)])
    
    def get_key(data):
        return hash(data)
    
    def hash_function(key):
        return key % 8
    
    def save_data(data, value):
        hash_address = hash_function(get_key(data))
        hash_table[hash_address] = value
    
    def read_data(data):
        hash_address = hash_function(get_key(data))
        return hash_table[hash_address]
    save_data('Dave','123')
    save_data('Andy','234')
    read_data('Dave')

    '123'

    hash_table

    [0, '123', '234', 0, 0, 0, 0, 0]

    '자료구조와 알고리즘' 카테고리의 다른 글

    자료구조 트리  (0) 2020.10.26
    자료구조 해쉬 테이블3  (0) 2020.10.25
    자료구조 해쉬 테이블  (0) 2020.10.23
    시간 복잡도  (0) 2020.10.23
    자료구조 링크드 리스트(Linked List)4  (0) 2020.10.22
전설의 개발자