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

시카로의 공부방

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

시카로의 공부방

검색하기 폼
  • 분류 전체보기 (440)
    • 프로젝트 (20)
      • kaggle & Dacon (43)
      • 에이블스쿨 (21)
    • 프로그래밍 공부 (5)
      • 컴퓨터 구조 & 운영체제 (15)
      • 자료구조 (3)
      • 알고리즘 (10)
      • 데이터베이스 & SQL (18)
      • SpringBoot (9)
      • 에이블스쿨 (86)
      • 버그일지(QA) (7)
    • 데이터 사이언스 & 로봇 (125)
      • 강화학습(RL) (4)
      • ML 및 DL 관련 이론 (53)
      • 데이터 분석 (24)
      • ROS (44)
    • 코딩테스트 (70)
      • python (4)
      • C++ (1)
      • 백준 (59)
      • 프로그래머스 (3)
      • softeer (0)
    • 서비스 기획 (1)
    • 인생일지 (5)
  • 방명록

해시 (1)
[해시] 해시의 개념, 문자열 해싱, 충돌 처리

어떠한 값을 순차탐색하면 확실히 데이터를 얻을 수 있지만, 모든 데이터를 살펴봐야하는 경우가 있으므로 효율적이지 않다. 그러므로 해시는 어떠한 기준(함수)로 변환한 값을 인덱스로 삼아서, 그 인덱스에 해당하는 배열에 키와 값을 저장해 빠른 데이터 탐색을 제공하는 자료구조다. 여기서 탐색에 특화되었다는 게 중요하다. 리스트 자료구조의 경우, 보통 검색에 O(n), 추가에 O(1)이자만, 여기서는 반대이다. 물론 리스트도 중간 추가면 O(n)이긴 하다. 그러나 차이점을 아는 게 중요하다. 해시의 시간복잡도 삽입(Insert): 평균 O(1), 최악의 경우 O(n) 검색(Search): 평균 O(1), 최악의 경우 O(n) 삭제(Delete): 평균 O(1), 최악의 경우 O(n) 해시의 특징 해시는 키를 통..

프로그래밍 공부/자료구조 2024. 4. 15. 21:39
이전 1 다음
이전 다음

Blog is powered by Tistory / Designed by Tistory

티스토리툴바