👩💻알고리즘/자료구조
💿 자료구조 - Queue 큐
비엔 Vien
2024. 4. 5. 17:24
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
DataStructure/Queue.ipynb at main · codenameVien/DataStructure
Contribute to codenameVien/DataStructure development by creating an account on GitHub.
github.com