TIL - 0114

문인철 교수님의 ‘데이터 구조 및 분석: Linear Structure and Dynamic Programming’ 수업

Queue

  • 200114
  • Linked list 를 변형해서 만들 수 있는 구조
  • Linked list 와 다르게 리스트 중간에 값을 추가하는게 불가능함
  • FIFO: First in First Out

Enqueue

  • 데이터 추가
  • linked list 에서 가장 마지막 인스턴스에 새로운 데이터 삽입

Dequeue

  • 데이터 삭제
  • linked list 에서 가장 첫번째 인스턴스에 새로운 데이터 삭제

코드

class Queue:
    linked_list = SinglyLinkedList()
    
    def dequeue(self):
        print(self.linked_list.get(0).value)
        return self.linked_list.remove_node(0)
    
    def enqueue(self, value):
        self.linked_list.insert_node(value, self.linked_list.get_size())

queue = Queue()

queue.enqueue('a')
queue.enqueue('b')
queue.enqueue('c')

queue.dequeue() # a
queue.dequeue() # b