본문 바로가기
Python/알고리즘&자료구조

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

by code2772 2023. 1. 27.

[ 목차 ]

    728x90
    반응형

    1. 스택(stack)

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

    1-1. 스택의 구조

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

    1-2. 스택의 장점

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


    문제

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

    반응형