yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆

스택 구조 (Stack ) 본문

기타 기본 지식

스택 구조 (Stack )

yehey 2020. 10. 20. 15:14

Stack

LIFO (Last In First Out) 구조를 갖는 데이터 저장방식 

ex) 되돌리기 기능, 괄호쌍 검사, 수식 계산 등

Stack ADT

객체: 0개 이상의 원소를 갖는 유한 선형 리스트

연산:

  • create : 최대 크기가 정해진 공백 스택 생성
  • is_full
  • is_empty
  • push : 스택 맨 위에 원소 추가
  • pop : 스택 맨 위의 원소를 제거, 반환
  • peek : 스택 맨 위의 원소를 제거하지 않고 반환

배열을 이용한 Stack

-자료를 담을 배열, 가장 마지막에 입력된 자료의 index를 나타내는 top 변수를 사용

-배열의 크기에 제한이 있음

연결 리스트를 이용한 Stack

크기에 제한이 없음 (필요할 때 마다 노드 생성하고 연결)

Node는 data와 다음 Node를 가리키는 link 로 구성되어있음

head pointer는 배열에서 top의 역할을 하며 가장 마지막에 inset된 노드를 가리킴

가장 처음 insert된 노드는 NULL을 가리킴

구현이 어려워지나 메모리 낭비도 없음

Stack의 활용

-괄호쌍 검사

-후위 표기식 계산 

-중위 표기식 -> 후위 표기식 변환

'기타 기본 지식' 카테고리의 다른 글

웹 스캐너  (0) 2020.11.10
큐 (Queue)  (0) 2020.10.20
List (연결리스트)  (0) 2020.10.20
재귀 함수  (0) 2020.10.20
알고리즘  (0) 2020.10.19
Comments