zenn.skin 무료버전 배포중!
자세히보기

CS/자료구조

[자료구조] 스택 (Stack)

koosco! 2020. 10. 23. 18:36

스택이란?

스택은 원소의 삽입과 삭제가 리스트의 한쪽 끝에서만 수행되는 선형 자료구조이다. 나중에 들어온 원소가 제일 먼저 나가는 후입선출(LIFO: Last In First Out) 구조를 갖는다. 책을 상자 안에 쌓아서 넣을 때, 나중에 쌓은 책을 먼저 빼는 모양을 생각할 수 있다.

 

스택 안에 원소를 집어넣는 push연산, 삽입된 원소를 빼내는 pop연산, 제일 위에 있는 원소값을 반환하는 peek연산을 갖는다. 컴퓨터 내부에서 프로그램에 대한 정보를 저장하는 자료구조에도 쓰이는 등 컴퓨터 내부에서도 많이 사용된다.

push 연산: 원소가 들어온 순서대로 쌓인다
pop 연산: 마지막으로 들어온 원소부터 나간다

간단하게 구현가능하면서도 여러 상황에 응용할 수 있어 많이 쓰이는데 힙 영역에 데이터를 저장하거나 재귀함수를 호출하는 과정도 스택 형태로 사용된다.

'CS > 자료구조' 카테고리의 다른 글

[자료구조] 큐 (Queue)  (0) 2021.04.17
[Python] 스택 구현  (0) 2020.10.24
[Python] 단순 연결리스트 구현  (0) 2020.10.23
[자료구조] 연결 리스트(Linked List)  (0) 2020.10.22
추상 데이터 타입(ADT: Abstract Data Type)  (0) 2020.10.08

'CS/자료구조'의 다른글

  • 현재글 [자료구조] 스택 (Stack)

관련글