반응형
Stack
스택은 "Last-In First-Out"을 따르는 인터페이스이다.
스택(추가)에서는 푸시(제거) 또는 팝만 할 수 있다.
또한 마지막으로 푸쉬한 것은 곧 팝이 반환하는 것과 같다.
종종 스택을 수정하지 않고 스택의 최상위 값만 다루는 peek라고 부르는 메서드를 가지게 될 것이다.
다음 코드를 보자.
function double(x) { return 2 * x; }
function squareAndAddFive(y) { return square(y) + 5; }
function square(z) { return z * z; }
function maths(num) {
var answer = double(num);
answer = squareAndAddFive(answer);
return answer;
}
maths(5);
위 코드를 JS에서 실제로 다루는 방식은 다음과 같다.
- math 호출 (math push)
- math 내부에서 double 호출 (double push))
- double 종료 10 반환 (double pop)
- math 내부에서 squareAndAddFive 호출 (squareAndAddFive push)
- squareAndAddFive에서 square 호출 (square push)
- square 종료 100 반환 (square pop)
- squareAndAddFive 종료 105 반환 (squareAndAddFive pop)
- math 종료 105 반환 (math pop)
이렇게 코드는 스택을 사용하여 모델링 된다.
반응형
'IT > Algorithm' 카테고리의 다른 글
Bubble Sort, Insertion Sort 구현해보기 (0) | 2021.10.14 |
---|---|
Queue에 대해서 (0) | 2021.10.13 |
프로그래머스) 복서 정렬하기 (0) | 2021.10.13 |
프로그래머스) 상호 평가 (0) | 2021.10.08 |
Quick Sort (0) | 2021.10.08 |