코드네임 :
💿 자료구조 - Queue 큐 본문
Queue is FIFO (선입선출)! (스택은 LIFO)
enqueue(items) : 큐의 최하단에 append
dequeue() : 맨 앞 원소를 끄집어냄
isEmpty(), isFull(), peek()
큐의 문제점 :
큐에서 원소를 제거할 때 최상단 데이터들을 제거하고 뒤쪽 남은 데이터들을 앞으로 밀어야함
-> 따라서 최악의 경우 O(n)의 시간복잡도를 가짐
➡️ 해결책 :
Circular Queue (원형 큐)
rear는 enqueue를
front는 dequeue를
따라감
원형 큐에서 dequeue를 하면 데이터를 앞쪽으로 미는 대신 None의 값과 바꿔치기 한다네요
(Cirqueue는 코드 너무 길어서 깃허브 코드로 볼것!!!)
https://github.com/codenameVien/DataStructure/blob/main/Queue.ipynb
'알고리즘 > 자료구조' 카테고리의 다른 글
💿 자료구조 - Heap (0) | 2024.04.12 |
---|---|
💿 자료구조 - 이진 트리 (와 그래프) (0) | 2024.04.11 |
💿 자료구조 - Deque 덱 (0) | 2024.04.11 |
💿 자료구조 - Stack 스텍 (0) | 2024.03.28 |
💿 자료구조 - 빅오표기법과 Linked List (0) | 2024.03.21 |