병아리 개발자의 실력 양성기

  • 홈
  • 태그
  • 방명록

딕셔너리 1

해싱

정의 해시 테이블(hash table)은 키(key) (필요한 경우 연관된 value)를 저장, 삭제, 열람 할 때 평균 O(1) 만큼 시간이 걸리는 것을 목표로 한다. 이를 위해, key는 hash 함수를 통해 변환되어 hash code (int)로 array (=hash table)에 저장된다. key가 hash 함수를 통과하여 array에 매핑된 결과는 가급적 균일하게 분포하도록 hash 함수를 설계하는 것이 필요하다. (주의깊은 해싱함수의 설계에도 불구하고) 두 key가 array의 같은 위치에 매핑되는 것을 충돌(collision)이라고 부른다. 이를 처리하기 위해 각 위치에 연결리스트(linked list)를 두거나 open addressing, linear probing 등의 방법을 활용한다..

알고리즘/Hash Table 2022.03.14
이전
1
다음
더보기
반응형
프로필사진

병아리 개발자의 실력 양성기

알고리즘 구현 능력을 기르는 과정을 함께 공유하고 성장하고자 합니다

  • 분류 전체보기 (64)
    • Soft Talks (12)
    • 알고리즘 (31)
      • Array (3)
      • Dynamic Programming (9)
      • Graph (9)
      • Sorting and Searching (1)
      • Hash Table (2)
      • Bits (1)
      • Math (3)
    • 머신러닝 (3)
      • Reinforcement Learning (0)
      • Supervised Learning (0)
      • Unsupervised Learning (0)
      • RecSys (추천) (0)
    • 플랫폼 (1)
      • Kafka (0)
      • Mongo DB (0)
      • Docker & k8s (1)
    • IT in General (1)
      • OS (2)
      • C++ (1)
      • Python (6)
    • Quant finance (1)

Tag

합격, python, lru_cache, RTE, connected components, 코테, memoization, dp, dfs, 카카오, coupon collectors' problem, 엔지니어, 빅테크, cache, bintrees, BFS, 입출력, 공부법, 문자열, OJ,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바