소프트웨어학부/자료구조
07-2. 스택
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. 오버헤드