파이썬 자료구조 Queue

김현진·2020년 10월 9일
0

http://localhost:8888/notebooks/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%20%ED%81%90.ipynb

대표적인 자료구조 queue

1. 큐 구조

  • 줄을 서는 행위와 유사
  • 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조
  • FIFO, LILO

2. 알아둘 용어

  • Enqueue: 큐에 데이터를 넣는 기능
  • Dequeue: 큐에서 데이터를 꺼내는 기능

3-1. Queue 큐만들기 FIFO, LILO

선입력 선출력

import queue

data_queue = queue.Queue()

data_queue.put('data') // 데이터 삽입
data_queue.put(1) // 데이터 삽입
print(data_queue.qsize()) // 2
print(data_queue.get()) // 'data'
print(data_queue.get()) // 1

3-2. Queue 큐만들기 LIFO

List In First Out

import queue
data_queue = queue.LifoQueue()

data_queue.put('data') 
data_queue.put(1)

data_queue.get() // 1
data_queue.get() // 'data'

튜플형태로 삽입 (순서, 데이터)

import queue

data_queue = queue.PriorityQueue()

data_queue.put((10,'A'))
data_queue.put((13,'B'))
data_queue.put((12, 1))

data_queue.get() // (10, 'A')

data_queue.get() // (12, 1)

data_queue.get() // (13, 'B')

4. 프로그래밍 연습

data_queue2 = list()

def enqueue(data):
    data_queue2.append(data)
def dequeue():
    data = data_queue2[0]
    del data_queue2[0]
    return data;

for index in range(10):
    enqueue(index)


len(data_queue2)

dequeue()
profile
기록의 중요성

0개의 댓글