Algorithm/자료구조 & 알고리즘

Stack

pinevienna 2021. 7. 28. 13:20

 

 

역시 데이터를 저장하기 위한 자료구조 중 하나다

stack은 '쌓다'라는 의미를 가지고 있는데, 데이터를 쌓아 보관한다고 생각하면 편하다

 

예를 들어 책을 쌓아두면 가장 최근에 쌓아둔 것 부터 집어들 수 있다

(중간에서 빼낼 수 없다는 가정 하에)

마찬가지로 stack에 데이터를 저장하면 가장 마지막에 입력된 값부터 출력할 수 있어서

후입선출, LIFO(Last In First Out) 개념을 갖는다

 

자바에선 push, pop, peek, empty, search 메소드를 가진다

push, pop은 각각 입출력이고

peek은 맨 위에 저장된 객체를 꺼내지 않고 반환한다

empty는 비어있는지 알려주며

serch로 주어진 객체를 찾아서 그 위치를 반환한다

(배열과 다르게 1부터 시작, 못 찾으면 -1 반환)

'Algorithm > 자료구조 & 알고리즘' 카테고리의 다른 글

Tree  (0) 2021.07.28
Queue, PriorityQueue, Deque  (0) 2021.07.28
LinkedList  (0) 2021.07.27
ArrayList  (0) 2021.07.27
빅오 표기법  (0) 2021.07.27