250x250
반응형
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

재 현

Queue 본문

Computer Science/Data Structure

Queue

본명은이점례 2023. 7. 22. 23:14
728x90

Queue는 선입선출(FIFO, First-In-First-Out) 원칙을 따르는 자료구조입니다. Queue는 데이터를 한쪽에서 삽입하고 반대쪽에서 삭제하는 구조로, 먼저 들어온 데이터가 먼저 처리되는 특징을 가지고 있습니다

 

 

  • 선입선출
    • Queue는 데이터를 선입선출(FIFO)의 방식으로 관리합니다. 가장 먼저 추가된 데이터가 가장 먼저 제거되는 원칙을 따릅니다. 데이터는 큐의 뒤에 추가되고, 삭제할 때는 큐의 앞에서 제거됩니다
  • 데이터 삽입과 삭제
    • Queue에 데이터를 삽입하는 작업은 "enqueue"라고 불리며, 큐의 뒤에 요소를 추가합니다. 데이터를 삭제하는 작업은 "dequeue"라고 불리며, 큐의 앞에서 요소를 제거합니다. enqueue와 dequeue 연산은 모두 O(1)의 시간 복잡도를 가지며, 상수 시간 안에 수행됩니다.
  • 제한된 접근
    • Queue에서 데이터에 접근할 때는 일반적으로 가장 앞에 있는 요소에 접근합니다. 큐의 앞쪽에서 데이터를 삭제하거나 검색하는 것이 일반적인 용도입니다. 임의의 위치에서의 접근이나 특정 요소의 검색은 지원되지 않습니다.
  • 제한된 기능
    • Queue는 enqueue, dequeue, front, back과 같은 제한된 기능을 제공합니다. enqueue는 큐의 뒤에 요소를 추가하고, dequeue는 큐의 앞에서 요소를 제거합니다. front는 현재 큐의 맨 앞에 있는 요소를 반환하며, back은 현재 큐의 맨 뒤에 있는 요소를 반환합니다.
from collections import deque

queue = deque()

queue.append(5)
queue.append(2)
queue.append(3)
queue.popleft()
queue.popleft()

print(queue) #먼저 들어온 순으로 출력
queue.reverse()
print(queue) #나중에 들어온 순으로 출력
728x90

'Computer Science > Data Structure' 카테고리의 다른 글

Stack  (0) 2023.07.22
Tree  (0) 2021.01.27
Array and Linked List  (0) 2021.01.27