반응형
- 자료구조(Data Structure)란?
- 데이터를 표현하고 관리하고 처리하기 위한 구조를 의미한다.
- 그 중 스택과 큐는 자료구조의 기초 개념으로 다음의 두 핵심적인 함수로 구성된다.
- 삽입(Push): 데이터를 삽입한다.
- 삭제(Pop): 데이터를 삭제한다.
- 오버플로(Overflow)와 언더플로(Underflow)
- 오버플로(Overflow)는 특정한 자료구조가 수용할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입 연산을 수행할 때 발생한다. ⇒ 저장 공간을 벗어나 데이터가 넘쳐흐를 때 발생한다.
- 언더플로(Underflow)는 특정한 자료구조에 데이터가 전혀 들어 있지 않은 상태에서 삭제 연산을 수행하면 발생한다.
- 스택(Stack)
- 먼저 들어 온 데이터가 나중에 나가는 형식(선입후출)의 자료구조이다.
- 선입후출(First In Last Out) 또는 후입선출(Last In First Out)구조라고 한다.
- 입구와 출구가 동일한 형태.
- 스택 예제
- add(A): 스택에 A를 넣는다. Boolean형 리턴
- push(A): 스택에 A를 넣는다. Exception리턴
- pop(): 스택의 맨 위에 있는 데이터를 꺼낸다.
- peek(): 스택에서 top에 있는 데이터를 반환한다.
- search(A): 스택에서 A가 있는 인덱스 위치를 반환한다.
import java.util.Stack;
public class ex5_1 {
//스택 구현 예제
public static void main(String[] args) {
Stack<Integer> s = new Stack<>();
// 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제()
s.push(5);
s.push(2);
s.push(3);
s.push(7);
s.pop();
s.push(1);
s.push(4);
s.pop();
// 스택의 최상단 원소부터 출력
while (!s.empty()) {
System.out.println(s.peek());
s.pop();
}
}
}
반응형
'알고리즘 > 자료구조' 카테고리의 다른 글
[자료구조] 해시의 개념과 예제(Java) (0) | 2025.01.06 |
---|---|
자료구조 - 큐(Queue)의 정의와 예제 (0) | 2021.10.15 |