티스토리 뷰

반응형

스택(stack)

데이터 컬렉션을 처리하는 데 사용되는 추상 데이터 유형(ADT)입니다. 자료구조에 대해 말하면 스택은 컴퓨터과학에서 매우 중요한 부분입니다. 스택은 특정한 규칙에 따라 항목들을 추가하거나 제거하는 리스트와 유사합니다. 이러한 규칙은 후입선출(LIFO, Last In First Out)입니다. 즉, 가장 마지막에 스택에 추가된 항목이 가장 먼저 제거됩니다.

스택의 핵심 연산은 다음과 같습니다:

push: 스택의 맨 위에 항목을 추가합니다.
pop: 스택의 맨 위에 있는 항목을 제거하고 반환합니다.
peek/top: 스택의 맨 위에 있는 항목을 조회합니다. 스택에서 항목을 제거하지는 않습니다.
isEmpty: 스택이 비어 있는지 확인합니다.

class Stack {
    constructor() {
        this.items = [];
    }

    push(element) {
        this.items.push(element);
    }

    pop() {
        if (this.items.length == 0)
            return "Underflow";
        return this.items.pop();
    }

    peek() {
        return this.items[this.items.length - 1];
    }

    isEmpty() {
        return this.items.length == 0;
    }
}

// Using the Stack class
let stack = new Stack();

console.log(stack.isEmpty()); // returns true

stack.push(5);
stack.push(8);
console.log(stack.peek()); // returns 8

stack.push(11);
console.log(stack.peek()); // returns 11

console.log(stack.pop()); // returns 11
console.log(stack.peek()); // returns 8

이 코드에서는 JavaScript의 Array 클래스를 사용하여 스택을 구현합니다. 배열에 항목을 추가하거나 제거할 때는 push() 및 pop() 메서드를 사용하며, 배열의 길이는 length 프로퍼티를 통해 얻을 수 있습니다.

반응형

'알고리즘 > 기본개념' 카테고리의 다른 글

javascript - 트리(Tree)  (0) 2023.06.24
javascript - 큐(queue)  (0) 2023.06.23
집합 자료형 - Set  (0) 2023.06.15
배열 초기화  (0) 2023.06.14
Array.prototype.reduce()  (0) 2023.06.13
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
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
링크
글 보관함