스택의 ADT와 정의

06-1. 스택의 이해와 ADT 정의

스택 자체의 개념은 어렵지 않다. 우리가 배워야하는건.. 스택의 활용이다. 언제 스택 자료구조를 사용해야할지 판단할 수 있는 능력이 있어야 한다.

스택은 응용어플리케이션 수준에서 자주 쓰이진 않지만, 시스템수준에가면 자주 쓰인다.

전통적으로 스택을 배울때 활용하는 예제는 계산기이다. 소괄호를 활용할 수 있고, 사칙연산이 한 문장에 모두 등장하는 계산기를 말하는 것. 이런 계산기를 구현하려면 스택이 절대적으로 요구된다.

스택의 개념자체는 이해하기 쉽다. 먼저 들어간 것이 나중에 나오는 구조, LIFO구조를 가진 자료구조이다.

LIFO구조를 가진 구조는 우리 주변에서 아주 쉽게 찾아볼 수 있다.

스택의 기본연산은 세가지가 있다.

  1. PUSH (스택에 넣기)
  2. POP (스택에서 빼기)
  3. PEEK (스택 탐색)

참고로, 이때 POP은 데어터의 추출뿐만 아니라 삭제의 개념도 있다는 것을 유념해야 한다. 쉽게 생각하면, 데이터가 쌓여있는 구조의 입장에선 쌓여있는게 하나 빠져나간다는건, 구조안에서 사라지는 의미 동일하기 때문

그래서 삭제까지 원치 않을때는, 꺼내보되 삭제하지 않는 PEEK연산을 가능케 추가한다.

스택의 ADT 정의

Untitled