IT/Algorithm

Stack 스택이란?

프티 2021. 10. 13. 08:48
반응형

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에서 실제로 다루는 방식은 다음과 같다.

  1. math 호출 (math push)
  2. math 내부에서 double 호출 (double push))
  3. double 종료 10 반환 (double pop)
  4. math 내부에서 squareAndAddFive 호출 (squareAndAddFive push)
  5. squareAndAddFive에서 square 호출 (square push)
  6. square 종료 100 반환 (square pop)
  7. squareAndAddFive 종료 105 반환 (squareAndAddFive pop)
  8. 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