본문 바로가기 메뉴 바로가기

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

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

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

검색하기 폼
  • 분류 전체보기 (66)
    • Soft Talks (12)
    • 알고리즘 (32)
      • Array (3)
      • Dynamic Programming (9)
      • Graph (10)
      • 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)
  • 방명록

set (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. 3. 14. 00:10
이전 1 다음
이전 다음
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • python
  • coupon collectors' problem
  • 동전문제
  • BFS
  • lru_cache
  • 다이내믹 프로그래밍
  • deque
  • Union-find
  • RTE
  • 문자열
  • 합격
  • nqueens
  • bintrees
  • 엔지니어
  • 프림
  • 개발자 채용
  • memoization
  • dp
  • cache
  • OJ
  • Kosaraju
  • graph
  • dfs
  • 빅테크
  • 카카오
  • 코테
  • 입출력
  • iterable
  • connected components
  • 공부법
more
«   2026/06   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바