| 니앙팽이 - 자료구조 | 4 | 해시 테이블 노트

2022. 3. 13. 19:39·PS/자료구조
no title

해시 테이블

개요

  • 접근 삭제 시간 복잡도 : O(1) 개빠르다
  • Collision : 동일한 key 값에 복수 개의 데이터가
    하나의 테이블에 존재할 수 있게 되는 것

해시 함수

  • 인덱스 값을 설정해주는 함수
    • 보통 나머지연산은 큰 소수로 이뤄지면 좋다.
  • 단 등가교환이 있다 과유불급
    • 좋은 해시 함수는 최대한 Collsion이 적어야한다.
    • Collsion이 많아지면 O(1)에서 O(n)으로 가까워진다.
      • 그런데 너무 심각하게 Collsion이 있다면 메모리를 너무 차지하게 된다.

Collsion의 해결

  1. 개방 주소법

    • linear 하게 버킷을 탐색한다
    • Double hashing probing 하나의 해쉬 함수에서 충돌이 발생하면 2 차 해쉬 함수를 이용해 새로운 주소를 할당한다.
  2. 분리 연결법

    1. 동일버킷 : 연결 리스트를 사용하는 방식(Linked List)
    2. 동일버킷 : Tree 를 사용하는 방식 (Red-Black Tree)
저작자표시

'PS > 자료구조' 카테고리의 다른 글

| 니앙팽이 - 자료구조| 3 | 트리, 이진트리 노트  (0) 2022.03.13
|자료구조| 3 | BinSearchTree | 이진 탐색 트리  (0) 2022.03.13
| 니앙팽이 - 자료구조| 2 | 스택,큐 노트  (0) 2022.03.13
| 니앙팽이 - 자료구조| 1 | 연결 리스트 노트  (0) 2022.03.13
|자료구조| 1 | Double LinkedList_3 | 이중 연결 리스트  (0) 2022.03.13
'PS/자료구조' 카테고리의 다른 글
  • | 니앙팽이 - 자료구조| 3 | 트리, 이진트리 노트
  • |자료구조| 3 | BinSearchTree | 이진 탐색 트리
  • | 니앙팽이 - 자료구조| 2 | 스택,큐 노트
  • | 니앙팽이 - 자료구조| 1 | 연결 리스트 노트
니앙팽이
니앙팽이
  • 니앙팽이
    니앙팽이 블로그
    니앙팽이
  • 전체
    오늘
    어제
    • 분류 전체보기 (126)
      • 그림그리기 (7)
      • 음악 (4)
        • FL Studio & MIDI (2)
        • 자작곡 (2)
      • 게임 (7)
        • 모바일 (0)
        • 스팀 (0)
        • 닌텐도 (0)
        • 개발 (7)
      • CS (44)
        • SW 공학 (27)
        • DB (7)
        • OS (9)
        • 네트워크 (1)
      • 팁 (9)
      • Language (21)
        • C# (8)
        • C&C++ (3)
        • 파이썬 메모 (3)
        • Javascript (7)
      • PS (0)
        • 알고리즘 (24)
        • 자료구조 (8)
        • 수학 (1)
        • 선형대수 (0)
        • 오토마타 (1)
        • 이산수학 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    연결리스트
    clip studio paint
    알고리즘
    unity
    유니티
    클립 스튜디오
    파이썬
    자료구조
    c#
    디자인패턴
    Stack
    객체지향개발
    Javascript
    따라그리기
    프로그래머스
    KAKAO
    프로세스
    가비지 콜렉터
    그림 연습
    노마드 코더
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
니앙팽이
| 니앙팽이 - 자료구조 | 4 | 해시 테이블 노트
상단으로

티스토리툴바