▏목적
◦ Stack 이해하기
▏시작하는 말
스택 · 큐에 대한 개념을 알지 못하고 알고리즘 문제를 풀었던 적이 있었다. 도저히 해결법을 몰랐었는데 지인이 큐로 풀면 된다고 했었던 기억이 있다. 그 때 큐를 처음 알게 되었다. 하지만 정확한 개념을 이해하지 못한채로 넘어갔었다. 올 해 초, 정보처리산업기사 자격증을 취득하였고 그 과정에서 스택 · 큐 자료구조를 제대로 공부하게 되었다. 그래서 오늘 그 개념에 대해 설명해보려고 한다. 스택 · 큐 포스팅 모두 내가 직접 그림판에서 그린 것이라 그림들이 조금 엉성할 수 있다.
▏스택(Stack)
스택은 LIFO(Last-In-First-Out) 즉, 후입선출 구조로 생각하면 된다.
쉽게 말해서, 차곡차곡 쌓아올리는 개념으로 보면 된다.
삽입 삭제 모두 Top 에서 이루어진다. ( Top : 스택의 가장 윗부분 )
▏Stack 연산
push() : 스택의 가장 윗 부부에 값을 추가한다.
pop() : Top 위치에 있는 항목을 제거한다.
peek() : Top 위치에 있는 항목을 반환한다. (제거 하지 않고 값 확인만!)
clear() : 스택에 모든 요소를 제거한다.
isEmpty() : 스택이 비어있으면 True 아니면 False
▏참고자료
Stack 을 활용하여 내가 푼 예제
https://ddukbaegi.tistory.com/20
Queue에 관한 건 다음 포스팅에서 하겠다.
반응형
'Devops > Data Structure' 카테고리의 다른 글
[Python] 자료구조 LinkedList 구현하기 (0) | 2023.01.12 |
---|---|
검색(탐색) 알고리즘 이란 무엇인가? (0) | 2021.06.18 |
큐(Queue) 란 무엇인가? (2) | 2021.06.01 |
JAVA 로 다익스트라 구현하기 (1) | 2021.05.13 |
다익스트라(Dijkstra)란 무엇인가? (0) | 2021.05.11 |
댓글