본문 바로가기

자바스크립트 자료구조3

[Javascript] 해시 충돌의 해결 지난번에 해시 테이블을 구현했지만, 해시 충돌을 해결할 수는 없었습니다. 그래서 이번에는 해시 충돌의 해결 방법을 알아보겠습니다. 1. 첫번째 방법, 선형 탐사법 Linear Probing 여태까지 많은 자료구조와 알고리즘을 하면서 선형이라는 이름이 붙으면 어떻게 하는지 기억하시나요? 바로 하나씩 일일히 순서대로 확인했습니다. 바로 선형 탐사법이 이 방식을 이용해서 빈 테이블의 위치를 찾습니다. 선형 방식의 문제들이 그렇듯이 테이블의 크기가 늘어나면 해시의 빠른 연산속도가 느려진다는 단점을 수반합니다. insertLinearProbing(key, value) { const id = this.hash(key); if(this.table[id]) { let flag = true; for (let i = id.. 2021. 11. 22.
[Javascript] 스택 2021.09.14 - [Programming/자료구조] - 스택 Stack 스택 Stack 이번에 소개할 자료구조는 스택과 큐인데 스택 따로 큐 따로 2개에 나눠서 소개하겠습니다. 그리고 그중에서 스택 부터 보도록 하겠습니다. 1. 스택 소개 스택(Stack)은 데이터를 쌓아올린듯한 자 bamtory29.tistory.com 스택의 원리나 구조에 대해서는 위의 포스트를 참조해주세요. class Node { constructor(data, nextNode = null) { this.data = data; this.nextNode = nextNode; } } class Stack { constructor() { this.top = null; this.size = 0; } push(data) { const .. 2021. 11. 17.
[Javascript] 연결 리스트 자료구조를 다시 복습할 겸, 알고리즘 포스팅에 활용도 하기 위해 자바스크립트로 다시 자료구조를 써보려고 합니다. 자료구조의 설명 자체는 기존 링크를 달기로 하고, 구현 방식은 조금 다르게 만들어 보기로 했습니다. 2021.09.03 - [Programming/자료구조] - 연결 리스트 Linked List 연결 리스트 Linked List 선형 리스트는 일반적인 배열과 다를바 없으므로 다시 작성하는 자료구조에서는 넘어가고 바로 연결 리스트부터 공부를 시작하겠습니다. 0. 연결 리스트 연결 리스트는 선형 리스트와는(순차 bamtory29.tistory.com class Node { constructor(data, nextNode = null) { this.data = data; this.nextNode =.. 2021. 11. 17.
300x250