스택(Stack)

수정이·2022년 4월 7일
0

Data Structure

목록 보기
3/9
post-thumbnail

스택 구조


  • 스택은 한 쪽 끝에서만 데이터를 넣거나 뺄 수 있는 선형 구조로 되어 있다.
    후입선출(LIFO = Last In Firist Out) 구조로 나중에 넣은 데이터가 먼저 나온다.

스택 장단점


  • 장점
    • 구조가 단순해서 구현이 쉽다.
    • 데이터 저장/읽기 속도가 빠르다
  • 단점
    • 데이터 최대 개수를 미리 정해야 한다.
    • 저장공간의 낭비가 발생할 수 있다.

스택 용어


  • push : 데이터를 스택에 넣는다.
  • pop : 스택에서 데이터를 꺼낸다.

스택 활용 예시


  • 후입선출(LIFO)을 활용하여 여러 분야에서 사용한다.
    • 웹 브라우저 방문기록(뒤로가기)
    • 수식의 괄호 검사
    • 실행 취소(undo)

Python


  • 파이썬에서는 리스트를 사용하여 스택을 구현한다.
    • append()를 통해서 데이터를 넣는다.
    • pop()을 통해서 데이터를 반환한다.
data_stack = list()

for i in range(1, 6):
    data_stack.append(i)
print(data_stack) # 출력 : [1, 2, 3, 4, 5]

data_stack.pop()
print(data_stack) # 출력 : [1, 2, 3, 4]

Java


  • Stack 클래스를 제공한다.
    • Stack<Integer> data_stack = new Stack<>();
    • push() : 데이터를 스택에 넣는다.
    • pop() : 스택에서 마지막에 넣은 데이터를 반환하고, 값을 삭제한다.
profile
공부는 꾸준히... 글쓰기도 꾸준히...

0개의 댓글