체이닝(2)
-
[자료구조] 해시 - (2) 구현 - 충돌해결 -① Chaining
class ValuePair{ constructor(key,value){ this.key = key; this.value = value; } } class HashTable{ constructor(){ this.storageLimit = 10; this.table = new Array(this.storageLimit); } Hash(key){ let hash = 0; for(let i = 0; i < key.length; i++){ hash += key.charCodeAt(i); } return hash % this.storageLimit; } add(key,value){ const index = this.Hash(key); if(this.table[index] === undefined){ this.ta..
2021.03.10 -
[자료구조] 해시 - (1) 개념
해시 - (1) 개념 해시란 무엇인가? 데이터를 관리하고 유지하는 자료구조 리소스 < 속도 (리소스를 포기하고 속도를 취한 자료구조) 키(key)는 해시 함수(Hash function)을 통해 해시(hash) = 배열의 인덱스 로 변경이 되고, 해시 = 배열의 인덱스는 값(value)와 매칭되어 저장소(storage)에 저장이 된다 Hash Table의 요소 키(key) : 고유한 값, 해시의 input 해시 함수(Hash function) : 키를 해시로 바꿔주는 역할 해시(Hash) : 해시 함수의 결과물, 저장소에서 값과 매칭되어 저장된다 = 배열의 인덱스 값(value) : 저장소에 최종 저장되는 값 해시 Big O Notation 각 조회의 평균 시간은 테이블에 저장된 요소 수와 관련이 없다. ..
2021.03.10