큐의 구조
- 데이터를 순서대로 꺼내는 구조
- 줄을 서는 행위와 유사
- 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조
- FIFO(First-In, First-Out) 방식으로 스택과 꺼내는 순서가 반대
큐의 용어
Enqueue : 큐에 데이터를 넣는 기능
Dequeue : 큐에 데이터를 꺼내는 기능
[Visualgo](https://visualgo.net/en/list)
파이썬 queue 라이브러리 활용해서 queue 자료 구조 사용하기
queue( ) : 가장 일반적인 큐 자료구조를 생성
LifoQueue( ) : 나중에 입력된 데이터가 먼저 출력되는 구조의 큐 자료구조를 생성(스택구조와비슷)
PriorityQueue : 데이터마다 우선순위를 넣엇 우선순위가 높은 순으로 데이터를 출력
프로그램을 작설할 때 프로그램에 따라 적합한 자료 구조를 사용
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 |
댓글 영역