상세 컨텐츠

본문 제목

[자료구조] 큐

자료구조

by 주초위왕 2023. 3. 7. 21:44

본문

큐의 구조

 - 데이터를 순서대로 꺼내는 구조

 - 줄을 서는 행위와 유사

 - 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조

 - FIFO(First-In, First-Out) 방식으로 스택과 꺼내는 순서가 반대


큐의 용어

Enqueue : 큐에 데이터를 넣는 기능

Dequeue : 큐에 데이터를 꺼내는 기능

[Visualgo](https://visualgo.net/en/list)


파이썬 queue 라이브러리 활용해서 queue 자료 구조 사용하기

queue( ) : 가장 일반적인 큐 자료구조를 생성

LifoQueue( ) : 나중에 입력된 데이터가 먼저 출력되는 구조의 큐 자료구조를 생성(스택구조와비슷)

PriorityQueue : 데이터마다 우선순위를 넣엇 우선순위가 높은 순으로 데이터를 출력

프로그램을 작설할 때 프로그램에 따라 적합한 자료 구조를 사용



큐는 어디게 쓰일까?
- 멀티 테스킹을 위한 프로세스 스케쥴링 방식을 구현할  사용 (운영체제)
 
 
문제.
리스트 변수로 큐를 다루는 enquwuw, dequeue기능을 구현해보기
 
queue_list = list()

# 리스트에 데이터를 추가
def enqueue(data):
  queue_list.append(data)

# 리스트에 있는 데이터를 뺌
def dequeue():
  data = queue_list[0]
  del queue_list[0]
  return data


print(len(queue_list)) # 현재 리스트의 자료 0

for index in range(10): #데이터 10개 추가
  enqueue(index)

print(queue_list)
print(len(queue_list)) # 현재 리스트의 자료 10

print(dequeue())

print(len(queue_list)) # 현재 리스트의 자료 9
반응형

'자료구조' 카테고리의 다른 글

[자료구조] 스택  (0) 2023.03.09
[자료구조] 회문 판별하기 예제모음  (0) 2023.03.09
[자료구조] 배열  (0) 2023.03.07

관련글 더보기

댓글 영역