백준-스택-큐-힙-정리

Posted by : on

Category : PS


스택 기본형 코드

  • 스택(stack): LIFO(Last In, First Out) 방식, 주로 리스트를 사용하여 구현.
    class Stack:
      def __init__(self):
          self.items = []
        
      def is_empty(self):
          return len(self.items) == 0
        
      def push(self, item):
          self.items.append(item)
        
      def pop(self):
          if self.is_empty():
              return None
          return self.items.pop()
        
      def peek(self):
          if self.is_empty():
              return None
          return self.items[-1]
        
      def size(self):
          return len(self.items)
    
    

큐 기본형 코드

  • 큐(queue): FIFO(First In, First Out) 방식, 주로 collections 모듈의 deque를 사용하여 구현.
    from collections import deque
    
      class Queue:
          def __init__(self):
              self.items = deque()
        
          def is_empty(self):
              return len(self.items) == 0
        
          def enqueue(self, item):
              self.items.append(item)
        
          def dequeue(self):
              if self.is_empty():
                  return None
              return self.items.popleft()
        
          def size(self):
              return len(self.items)
    

힙 기본형 코드

  • 힙(heap): 완전 이진 트리 기반의 자료구조, heapq 모듈을 사용하여 구현.
    import heapq
    
      class MinHeap: #원소를 추가하거나 제거할 때 반전하면 최대 힙(-item)
          def __init__(self):
              self.heap = []
        
          def push(self, item):
              heapq.heappush(self.heap, item)
        
          def pop(self):
              if len(self.heap) == 0:
                  return None
              return heapq.heappop(self.heap)
        
          def peek(self):
              if len(self.heap) == 0:
                  return None
              return self.heap[0]
        
          def size(self):
              return len(self.heap)
    
    

About Sejun Jeong
Sejun Jeong

Seize the day with programming

Email : usopked16496@gmail.com

Website : https://usopked.github.io

About UPKED

2024년
2025년

Star
Categories
Useful Links