해시테이블이란?

해시테이블은 키를 활용하여 값에 직접 접근 가능한 구조

# case 1 - 딕셔너리로 활용되는 해시테이블을 확인

test_code = {2.5: 'A' ,'2.0': 'B', '1.0': 'C'}
print(test_code[2.5])
print(test_code['1.0'])
print(test_code['2.0'])
# case 2 - 리스트와 튜플을 활용해서 해시테이블을 확인
# 데이터는 튜플로 저장

test_code = [(2.5, 'A'), ('2.0', 'B'), ('1.0', 'C')]

def insert(item_list, key, value):
    item_list.append((key, value))

def search(item_list, key):
    for item in item_list:    # 데이터를 검색하려면 딕셔너리보다 오래 걸림(키,값 쌍이 없어서 개별 값으로 반복해서 검색하기 때문)
        if item[0] == key:
            return item[1]
    print('not matching')

print(search(test_code, '2.0'))
print(search(test_code, 2.5))
search(test_code, '2.5')
# 수도코드

[("aqua", "#00FFFF"), ("beige", "#F5F5DC"), ("chartreuse", "#7FFF00")]

for i in range(0, len(dictionary)):
  1)알파벳순서대로 정렬되어있음
  2)알파벳찾기(예를 들어, "beige"를 찾아보겠다.)
  3)이진검색 알고리즘 활용
  4)로그시간 성능
# 먼저 값이 없는 딕셔너리를 선언
dict = {}

# 값 추가
dict['a'] = 1
dict['b'] = 2
dict['c'] = 3
dict
# 아래와 같이 키를 통해 값을 알 수 있다.
dict['c']
# 해시테이블에 반복문을 적용
for key in dict.keys():
  print(dict[key])

# (키,값) 쌍을 출력

for key, value in dict.items():
  print('(키',key,',','값',value,')')

해시함수