흰 스타렉스에서 내가 내리지

[자료구조] 스택 (Stack) 본문

Data Structure

[자료구조] 스택 (Stack)

주씨. 2022. 1. 1. 19:32
728x90
class Stack:
    def __init__(self):
        self.container = list()
        
    def is_empty(self):
        if not self.container:
            return True
        else:
            return False
        
    def push(self, data):
        self.container.append(data)
        
    def pop(self):
        if self.is_empty():
            return None
        
        return self.container.pop()
    
    def peek(self):
        if self.is_empty():
            return None
        
        return self.container[-1]

주요 특징 : 맨 마지막에 들어온 데이터가 맨 처음 나간다. (LIFO, Last In First Out)

 

스택은 어디에 쓰이는가?

OS가 관리하는 메모리 영역 중에는 지역 변수가 할당되는 스택 메모리가 있는데, 여기에 스택 프레임이 쌓인다.

또, 알고리즘에서 DFS와 트리 등을 구현할 때 스택이 쓰인다.