판봉 개발 일기

스택(Stack) 본문

정보처리산업기사/정보처리산업기사 필기

스택(Stack)

판봉 2021. 7. 31. 12:38
728x90

스택의 개념

  • 스택은 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료구조이다.
  • 스택은 가장 나중에 삽입된 자료가 가장 먼저 삭제되는 후입섭출(LIFO)방식으로 자료를 처리합니다.
  • TOP -Stack으로 할당된 기억공간에 가장 마지막으로 삽입된 자료가 기억된 위치를 가리키는 요소입니다. 또한스택 포인터라고도 합니다.
  • BOottom : 스택의 가장 밑입니다.

자료의 삽입(Push)

  • M : 스택의 크기
  • Top : 스택 포인터
  • X : 스택의 이름
  • Overflow : 스택으로 할당받은 메모리 부분의 마지막 주소가 M번지라고 할때, TOP Pointer의 값이 M보다 커지면 스택의 모든 기억장소가 꽉 채워져있는 상태이기에 더 이상 자료를 삽입할수 없어서 Overflow를 발생시킵니다.

자료의 삭제(Pop up)

※Stack에 기억되어 있는 자료를 삭제할땐 제일 먼저 삭제할 자료가 있는지를 확인해야 합니다.

Underflow : Top Pointer가 주소 0을 가지고 있다면 스택에는 삭제할 자료가 없으므로 Underflow를 발생시킵니다.


Stack의 응용 분야

  • 부 프로그램 호출시 복귀주소를 저장할 때
  • 함수 호출의 순서 제어
  • 인터럽트가 발생하여 복귀주소를 저장할 때
  • 후위 표기법으로 표현된 수식을 연산할 때
  • 0 주소지정방식 명령어의 자료 저장소
  • 재귀(Recursive)프로그램의 순서 제어
  • 컴파일러를 이용한 언어 번역 할 때

'정보처리산업기사 > 정보처리산업기사 필기' 카테고리의 다른 글

트리(Tree)  (0) 2021.08.02
큐(Queue)와 데크(Deque)  (0) 2021.08.01
리스트  (0) 2021.07.30
자료 구조의 개념  (0) 2021.07.29
시스템 카탈로그  (0) 2021.07.28