Python/알고리즘&자료구조

Python 자료구조&알고리즘 - 스택(stack)

code2772 2023. 1. 27. 07:16
728x90
반응형

1. 스택(stack)

  • 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 구조
  • LIFO(Last Input First Out)
  • 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조
 

1-1. 스택의 구조

  • 스택은 LIFO 또는 FILO 데이터 관리 방식
  • 스택의 활용 : 컴퓨터 내부의 프로세스 구조의 함수 동작 방식
  • 기능
    • push() : 데이터를 스택에 쌓기
    • pop() : 데이터를 스택에서 꺼내기
 

1-2. 스택의 장점

  • 구조가 단순해서 이해와 구조가 쉬움
  • 데이터 저장/읽기 속도가 빠름
  • 데이터 최대 개수를 미리 정해야 함(파이썬의 쟝우 재귀함수는 1000번까지만 호출이 가능)
  • 저장 공간의 낭비가 발생할 수 있음(미리 최대 개수만큼 저장공간을 미리 확보하기 때문)
  • 스택은 단순하고 빠른 성능을 위해 사용하므로 보통 배열 구조를 활용하여 구현하는 것이 일반적


문제

리스트 변수로 스택을 다루는 pop, push 기능을 직접 구현해보자. (단, 리스트의 pop함수를 사용하지 않음)

반응형