반응형
# 꼭 알아둬야 할 자료구조 - 배열
데이터를 나열하고 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조
파이썬에서는 리스트 타입이 배열 기능을 제공하고 있음
장점 - 빠른 접근 가능
단점 - 데이터 추가/삭제가 어렵다
# 파이썬과 배열
파이썬 리스트 활용
# 대표적인 데이터 구조 : 큐
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
반응형
'Algorithm > 자료구조, 알고리즘' 카테고리의 다른 글
[코딩 + 알고리즘 완주반] 13일차. 시간복잡도 (0) | 2021.03.27 |
---|---|
[코딩 + 알고리즘 완주반] 12일차. 스택, 링크드 리스트 (0) | 2021.03.27 |
[코딩 + 알고리즘 완주반] 11일차. 자료구조, 알고리즘 개요 (0) | 2021.03.25 |
[코딩 + 알고리즘 완주반] 11일차. Object Reference (0) | 2021.03.25 |
[코딩 + 알고리즘 완주반] 10일차. 타이핑 게임 프로젝트 (0) | 2021.03.25 |