Notice
반응형
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Algorithms
- Stack
- jsp
- 이클립스
- java
- 책추천
- 정처산기
- 수학
- 백준
- Eclipse
- npm
- BREW
- script
- set
- SQL
- 에라토스테네스의 체
- IntelliJ
- html
- TSX
- Oracle
- 문제풀이
- deque
- react
- 응용SW
- 자료구조
- HashMap
- input
- googleChart
- node
- js
Archives
- Today
- Total
개발하자
[Algorithms] 자료구조 - 스택(Stack), 큐(Queue), 덱(Deque) 본문
728x90
안녕하세요!
오늘은 자료구조 중 스택(Stack), 큐(Queue), 덱(Deque)에 대해 정리해보려고 합니다.
각각 어떤 특징이 있고, 어떤 상황에서 사용하면 좋을지 예제 코드와 함께 살펴보겠습니다.
📝 개념 설명
스택(Stack)
- 후입선출(LIFO : Last In, First Out)
예시로 웹 브라우저 뒤로가기, 재귀 호출이 있습니다
큐(Queue)
- 선입선출(FIFO : First In, First Out)
예시로 프린터 작업, BFS가 있습니다.
덱(Deque)
- 양쪽에서 삽입/삭제 가능(Double Ended Queue)
예시로 슬라이딩 윈도우 최댓값 문제, 캐시 구현이 있습니다.
🔍 자료구조 별 사용 예시 (Java 기준)
// 스택
Stack<Integer> stack = new Stack<>();
stack.push(1); stack.push(2);
stack.pop(); // 맨 위 값 제거 + 반환으로 결과는 2
stack.peek(); // 맨 위 값 그대로 반환으로 결과는 1
// 큐
Queue<Integer> queue = new LinkedList<>();
queue.offer(1); queue.offer(2);
queue.poll(); // 1
// 덱
Deque<Integer> deque = new ArrayDeque<>();
deque.addFirst(1);
deque.addLast(2);
deque.removeFirst(); // 1
스택, 큐, 덱은 알고리즘 문제에서 굉장히 자주 등장하는 자료구조입니다.
기본 개념과 자바에서의 사용법을 잘 익혀두면 문제를 풀 때 큰 도움이 될 것 입니다.
공부하면서 유용했던 부분 메모겸 공유하고자 끄적입니다.
고쳐야하는 부분있다면 댓글 남겨주시면 수정하겠습니다.
행복한 하루 보내세요 (❁´◡`❁)
728x90
반응형
'Algorithms > Concepts' 카테고리의 다른 글
[Algorithm] 에라토스테네스의 체 (Sieve of Eratosthenes) (1) | 2025.04.24 |
---|