본문 바로가기
Algorithm/자료구조, 알고리즘

[코딩 + 알고리즘 완주반] 11일차. 배열, 큐

by newnu 2021. 3. 25.
반응형

# 꼭 알아둬야 할 자료구조 - 배열

데이터를 나열하고 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조

파이썬에서는 리스트 타입이 배열 기능을 제공하고 있음

 

장점 - 빠른 접근 가능

단점 - 데이터 추가/삭제가 어렵다

 

# 파이썬과 배열

파이썬 리스트 활용

 

# 대표적인 데이터 구조 : 큐

FIFO ( First in First Out) ( 줄을 서는 것과 유사)

LILO ( Last In Last Out)

 

# 용어

enqueue : 데이터를 넣는 기능

dequeue  :  데이터를 빼는 기능

 

# 파이썬 큐 라이브러리( import queue )

Queue() : 가장 일반적인 큐 자료 구조 

 - put, get, qsize

LifoQueue() :  나중에 입력된 데이터가 먼저 출력되는 구조(스택구조)

- put, get, qsize

PriorityQueue() : 데이터마다 우선순위를 넣어서, 우선순위가 높은 순으로 데이터 출력

- put((우선순위, 데이터)) , get, qsize

( 1 이 제일 높은 우선순위)

 

# 큐가 어디에서 많이 쓰일까?

멀티태스킹을 위한 프로세스 스케줄링 방식을 구현하기 위해 많이 사용됨

 

# 큐 구현해보기

queue_list = list()

def enqueue(data):
    queue_list.append(data)
    
def dequeue():
    data = queue_list[0]
    del queue_list[0]
    return data
반응형