반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- input
- CSS
- storybook
- webpack
- scss
- vuex
- MySQL
- express
- ES6
- 자료구조
- 쉬운설명
- mapGetters
- react
- jsx
- Vue transition
- Vue.js
- 리액트
- HOC
- sass
- 자바스크립트
- State
- Wecode
- TypeScript
- JavaScript
- nodejs
- Vue
- App.vue
- v-html
- 댓글달기
- event
Archives
- Today
- Total
익명의 개발노트
Hash Table 본문
반응형
데이터를 해시함수를 거쳐 테이블에 정렬하는 방식.
해시함수는 +,-,*,/,% 등등 사용됨. 해시함수로 인덱스를 구분함.
이런 일련의 과정을 Hasing이라고 지칭한다.
이런식으로 하다보면 발생하는 문제가 생기는데, 대부분의 문제가 해시충돌 현상이 발생한다.(인덱스가 겹치는 현상)
해시충돌값을 해결하기 위한 방법으로는 Chaining, Linear Probing, Resizing 방법이 있다.
1. Chaining 방법은 분리연결법? 해석은 참 거지 같다. 눈에 들어오지도 않는 어려운 용어...
값부분에 Linked List로 구현하는 방식이다.
이런식으로 저장을 해서 충돌을 피하는 방식이다. 값찾으려면 인덱스 값 타고 들어가서 Linked List의 값을 찾는 방법을 써야한다.
2번째는 Linear Probing, 개방주소법이라고 불리는데, 비어있는 인덱스에 값을 저장해서 충돌을 방지한다.
40하고 47의 인덱스값이 겹친다. 47을 비어있는 인덱스값에 일단 할당하고 나머지를 진행한다.
이렇게 충돌을 피했다.
이렇게 하다보면 공간이 없어지는데, 이때 Resizing을 한다.
크기를 두배로 늘리고, 값을 할당한 후 테이블을 정렬한다.
반응형
'프로그래밍 관련자료 > 알고리즘' 카테고리의 다른 글
최대공약수 구하기(유클리드 호제법) 리컬시브 방법 (0) | 2019.04.09 |
---|---|
repeatStirng 리커시브하게 풀기 (0) | 2019.04.09 |
sumDigits 구하기 (0) | 2019.03.08 |
convertObjectToArray3 (0) | 2019.03.08 |
JSON.stringify의 원리 (1) | 2019.03.07 |
Comments