반응형
선형구조
스택 (Stack)
한쪽 끝 에서만 자료를 넣고 뺼 수 있는 자료구조이다.
- 가장 나중에 들어간 자료가 가장 먼저 빠져나오는 후입선출, LIFO(Last In First Out)라고도 부른다.
- 자바스크립트에서는 데이터 끝에 자료를 집어넣는
push()
와 끝의 자료를 제거하는pop()
을 이용하여 스택을 구현할 수 있다.
자바스크립트 기본메소드를 사용하지 않고 구현하기
class Stack {
constructor() {
this.stack = [];
this.index = 0;
}
push(ele) {
this.stack[this.index++] = ele;
}
pop() {
if (this.index <= 0) return null;
const result = this.stack[--this.index];
return result
}
}
자바스크립트 기본 배열 메소드를 사용하여 구현하기
let stack = []
stack.push(1); // stack = [1]
stack.push(10); // stack = [1, 10];
stack.pop(); // stack = [1] 10 추출되어짐
stack.pop(); // stack = [] 1 추출되어짐
스택의 시간복잡도
- Insertion O(1)
- Deletion O(1)
- Search O(n)
큐
- 먼저 집어넣은 데이터가 먼저 나오는 선입선출, FIFO(First In First Out) 자료구조이다.
- 자바스크립트에서는 끝에 데이터를 집어넣는 push()와 처음 데이터를 꺼내오는 shift()를 사용하여 큐(queue)를 구현할 수 있다.
// 작성중
큐의 시간복잡도
- Insertion O(1)
- Deletion O(1)
- Search O(n)
반응형