티스토리 뷰
해시 함수 (짦게는 그냥 해시)는 임의의 길이를 갖는 임의의 데이터를 고정된 길이의 데이터로 매핑하는 단방향 함수를 말한다.
Key - Value 쌍으로 가지는 자료구조의 형태이며, 해쉬 함수는 Hash(k) = V 로 표현할 수 있다. Hash Function을 통해 K를 입력하면, 값 V가 출력된다. 이때 K가 같으면 항상 같은 V가 출력된다.
1. 해시 테이블 (Hash Table)
- key와 value를 가지는 자료구조의 종류 중 하나 (ex. 대표적으로 JS에서 Object, Map, Set 등)
- Hash Function을 통해 빠른 탐색이 가능하다.(키 값을 통해 바로 접근 가능하므로) 따라서 시간복잡도는 O(1)
2. 문제 유형
ex) https://programmers.co.kr/learn/courses/30/lessons/42578
위 프로그래머스 문제는 해시 관련 Level 2 문제이다.
* 구현
위 문제의 경우 해시 테이블로 자료구조 Map을 사용하여 구현하였다.
★ 해시는 알고리즘 풀이에 자주 나오기도 하고 타 알고리즘에 비해 어렵지 않은 개념이기 때문에 숙지하자!
또한 대표적인 해시 테이블 Object, Map, Set 의 기본 제공 함수들을 숙지하자!
'Algorithm' 카테고리의 다른 글
슬라이딩 윈도우 알고리즘(Sliding Window) (feat. 투 포인트) (0) | 2022.05.23 |
---|---|
스택(Stack), 큐(Queue) (0) | 2022.04.12 |
DFS와 BFS (0) | 2022.04.06 |
이진(이분) 탐색 (0) | 2022.04.04 |
조합과 순열 (0) | 2022.04.01 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 가상스크롤
- zustand
- 매겨변수와 인자
- typescript
- 1급 객체
- array
- 1급 함수
- 렌더링 속도 개선
- 함수형 컴포넌트
- Next.js
- vue
- react
- debouncing
- redux
- 1급 시민
- next.js에 .gitignore가 적용되지 않을 때
- Virtual Scroll
- React로 쓰로틀링 디바운싱 구현
- useRef
- rewrites
- 자바스크립트 비동기 동작원리
- redirects
- next.js 환경변수
- 호이스팅
- 타입스크립트
- javascript
- 자바스크립트 동작원리
- programmers
- 시맨틱 웹
- 목표 일기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함