본문 바로가기

3

[자료구조] 큐 Queue 개념 | js 구현 Queue의 특징 1. FIFO (First In First Out) 먼저 들어간 데이터가 제일 처음에 나오는 선입선출의 구조를 가지고 있습니다. 2. 데이터는 하나씩 넣고 뺄 수 있습니다. Queue 자료구조는 데이터가 아무리 많이 있어도 하나씩 데이터를 넣고, 뺍니다. 한꺼번에 여러 개를 넣거나 뺄 수 없습니다. 3. 두 개의 입출력 방향을 가지고 있습니다. Queue 자료구조는 데이터의 입력, 출력 방향이 다릅니다. 만약 입출력 방향이 같다면 Queue 자료구조라고 볼 수 없습니다 js 코드 구현 class Queue { //가장 앞에 있는 요소를 front, //가장 뒤에 있는 요소를 rear 라고 했을 때 //queue constructor 생성 constructor() { this.storag.. 2023. 9. 14.
[자료구조] Hash Table Hash Table의 정의 hash table이란 해시함수(hash function)를 사용하여 변환한 해시(hash)를 색인(index)으로 삼아 키(key)와 데이터(value)를 저장하는 자료구조입니다. 이 해시테이블은 쉽게 핸드폰으로 통화를 하기 위해, 단축번호를 설정하여 사용하는 것과 같다고 생각하면 됩니다. 김코딩 , 010-1234-5678 , 단축번호 : 1이라는 사람에게 전화를 걸기 위해 미리 사용자가 저장한 단축번호 : 1을 누르면 010-1234-5678 번호로 바로 통화를 할 수 있습니다. 이 과정처럼, 필요한 데이터의 키(key)를 해시함수를 사용해 별도의 해시(hash)로 바꿔 주고, 해당하는 데이터(value)를 함께 저장하는 자료구조입니다. Hash Table의 구조 키(ke.. 2023. 9. 14.
[자료구조] 스택 Stack 개념 | js 구현 Stack의 특징 1. LIFO(Last In First Out) 먼저 들어간 데이터는 제일 나중에 나오는 후입선출의 구조를 가지고 있습니다. 2. 데이터는 하나씩 넣고 뺄 수 있습니다. Stack 자료구조는 데이터가 아무리 많이 있어도 하나씩 데이터를 넣고, 뺍니다. 한꺼번에 여러 개를 넣거나 뺄 수 없습니다. 3. 하나의 입출력 방향을 가지고 있습니다. Stack 자료구조는 데이터의 입출력 방향이 같습니다. 만약, 입출력 방향이 여러 개라면 Stack 자료구조라고 볼 수 없습니다. js 코드 구현 class Stack { // stack constructor를 생성합니다. constructor() { this.storage = {}; this.top = -1; } // stack의 사이즈를 구합니다... 2023. 9. 14.