| Hash Table 해시 테이블의 값(value)은 키(key)에 대한 해시 함수를 호출하여 저장한다. 값은 정렬된 순서로 보관되지 않는다. 삽입 및 탐색 연산은 분할상환적으로 O(1) 시간에 수행된다. (충돌이 적다는 가정하에) 잠재적 충돌을 고려하여 구현해야 한다. 보통은 충돌되는 값을 서로 연결하여(chaining)하여 이 문제를 해결한다. 즉, 특정 키에 대응되는 인덱스 위치에 모든 값을 연결 리스트로 묶는다. | STL map 키를 기준으로 만든 이진 탐색 트리에 키(key) / 값(value) 쌍을 보관한다. 충돌을 처리할 필요가 없고 트리의 균형이 유지되므로 삽입 및 탐색 시간은 O(logN)이 보장된다. key를 기준으로 정렬된 상태로 저장한다. 물론, 정렬하지 않은 상태로 저장하는 u..
본 포스팅 시리즈에서는 모든 프로그래머들이 반드시 알아야 할 가장 기본적인 자료구조를 다룰 예정이다. 앞으로 다룰 내용은 프로그래머에게 기본 소양이며, 본인 스스로 직접 구현할 수 있어야 한다. | 일곱 번째 순서는 Hash Table이다. hash table은 각 data값이 key를 가지고 있는 자료구조이다. 우리가 특정 키로 특정 자물쇠를 바로 여는 것과 비슷한 자료구조이다. 키만 가지고 있다면 별도의 탐색과정 없이 효율적으로 데이터를 찾을 수 있고 이는 데이터의 크기에 관계없이 삽입 및 검색에 매우 효율적이다. 사실 배열도 일종의 hash라고 볼 수 있다. 각 인덱스에 대칭되는 값들을 배열이 가지고 있다. 그렇다면 배열이 있는데 우리는 왜 별도의 hash라는 것을 사용할까? 일반적으로 배열에서 사..
- Total
- Today
- Yesterday
- 알고리즘
- interview question
- algorithm
- Tree
- 속초 맛집
- 내돈내산
- C++
- 코딩인터뷰
- ProblemSolving
- 기술면접
- 인터뷰
- coding interview
- Problem Solving
- 러스트 배우기
- PS
- rust
- 러스트
- Interview
- 속초
- 러스트 입문
- LeetCode
- 반드시 알아야 할 자료구조
- 트리
- 맛집
- 러스트 기초
- 솔직후기
- 리트코드
- DP
- Medium
- 자료구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |