관리 메뉴

프론트엔드 정복하기

파이썬 스택 본문

패스트캠퍼스 - 자료구조와 알고리즘/파이썬 기초 문법

파이썬 스택

GROWNFRESH 2021. 7. 30. 08:20

스택 : LIFO 정책을 갖는다.

 

대표적인 스택의 활용

- 컴퓨터 내부의 프로세스 구조의 함수 동작 방식

 

 

push : 데이터 스택에 넣기

pop : 데이터 스택에서 꺼내기

 

 

재귀함수와 스택

아래는 운영체제 과목에서 깊게 설명해야 이해할 수 있는 부분이다. 프로세스 스택의 구조까지 이해할 필요는 없다.

다만, 함수 위에 함수가 호출되면 스택같은 구조로 함수가 쌓이고, 맨위 함수가 끝나면 그 다음( 그 아래) 함수가 불려진다는 프로세스만 이해하면 된다.

# 재귀 함수
def recursive(data):
    if data < 0:
        print ("ended")
    else:
        print(data)
        recursive(data - 1)
        print("returned", data)  
        
        
 recursive(4)
 4
3
2
1
0
ended
returned 0
returned 1
returned 2
returned 3
returned 4

 

 

 

자료 구조 장단점

 

장점

- 구조가 단순해서 구현이 쉽다.

- 데이터 저항, 읽기의 속도가 빠르다.

 

 

단점 (일반적 스택 구현 시)

- 데이터 최대 개수를 미리 정해야 한다.

   (파이썬의 경우 재귀 함수는 최대 1000번까지 호출 가능)

- 저장 공간 낭비 발생할 수 있음

  ( 최대 개수 만큼 저장공간을 확보해야 하므로)

  ( 링크드 리스트 등으로 구현하면 위같은 단점은 발생x)

'패스트캠퍼스 - 자료구조와 알고리즘 > 파이썬 기초 문법' 카테고리의 다른 글

파이썬과 OOP(객체지향프로그래밍)  (0) 2021.08.03
링크드 리스트  (0) 2021.08.03
파이썬 함수  (0) 2021.07.29
파이썬 집합  (0) 2021.07.27
파이썬 딕셔너리  (0) 2021.07.27