Hash Table

해시 테이블

파이썬에서는 해시테이블이 딕셔너리라는 자료구조로 구현되어 있다.

구현 방법

  • Array List (파이썬에서는 Array List로 구현되어 있다.)
  • Array List + Linked List

해시 테이블의 시간 복잡도

Hash Talbe은 효율적인 탐색을 위한 자료구조로써 key-Value쌍의 데이터를 입력받는다. hash function h에 key값을 입력으로 넣어 얻은 해시값을 위치로 지정하여 key - value 데이터 쌍을 저장한다. 저장, 삭제, 검색의 시간복잡도는 모두 Big O (1)을 가진다.

Direct-address Table

  • 크기가 U인 테이블 T를 생성하고 key k를 slot k에 저장하는 방식

  • 중복되는 key는 없다고 가정

  • 시간복잡도가 굉장히 빠름

  • 검색, 삽입, 삭제가 빠르지만 실제 사용하는 공간이 낭비되는 단점

딕셔너리 (Dictionary)

  • 딕셔너리 쓰는 법
score = {
  'math':97,
  'eng':49,
  'ko':89,
}
 
print(score["eng"])
score["music"]= 100
print(score)
 
print("science" in score)
 
if "music" in score:
  print("뮤직있어요")
else:
  print("뮤직 없어")