Mt.Hwang 2025. 5. 1. 23:25

스택 (Stack)

 1. 스택 상단 (top)

 2. 스택 하단

 3. 삽입 연산 (push)

 4. 삭제 연산 (pop)

 5. 요소

 6. 공백 상태

 7. 포화 상태

 

 

스택 추상 자료형

 1. 연산

  (1) 새로운 항목 삽입

  (2) 항목 하나 꺼냄

  (3) 스택이 비어있는지 확인

 2. 고급 기능

  (1) 꺼내지 않고 항목 확인

  (2) 가득차 있는지 확인

  (3) 원소 개수 확인

  (4) 원소 출력

Stack ADT

 1. push(X)

 2. pop()

 3. isEmpty()

 4. peek()

 5. isFull()

 6. size()

 7. display()

스택 용도

 

 

배열로 구현한 스택 (Array Stack)

 1. top

 2. stack[]

 3. 공백 상태

 4. push(X)

 5. pop()

 6. UML 클래스 다이어그램

 

 

연결리스트로 구현한 스택 (Linked List Stack)

괄호 검사 구현

 1. 괄호 종류 

  (1) 대괄호 []

  (2) 중괄호 {}

  (3) 소괄호 ()

 2. 괄호 검사 조건

  (1) 좌우 괄호 개수

  (2) 괄호 등장 순서 

  (3) 교차 금지

 3. 로직 

  (1) 왼쪽 괄호가 등장하면 push

  (2) 오른쪽 괄호가 등장하면 조건 검사

 

 

배열로 구현한 스택 (Array Stack) vs 연결 리스트로 구현한 스택 (Linked List Stack)

 1. 메모리 구조

 2. 메모리 낭비

 3. 속도

 4. 구현 난이도

 5. 메모리 할당/해제

 6. 오버헤드