본문 바로가기

CS/자료구조와 알고리즘

큐(Queue)

큐는 무엇인가?

-한쪽끝에서 원소를 넣고 반대쪽 끝에서 원소를 뺄수 있는 자료구조

 

큐의 성질은?

  1. 원소의 추가가 O(1)
  2. 원소의 제거가 O(1)
  3. 제일 앞/뒤 원소 확인이 O(1)
  4. 제일 앞/뒤가 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능

 

큐의 용도는?

- 선착순으로 해결해야 될때 쓰임

 

문제풀이에서 큐의 활용방식은?

-BFS와 Flood Fill

 

STL

queue<int> Q;
Q.push(1); // 1
Q.push(2); // 2
Q.push(3); // 3
cout << Q.size() << '\n'; // 3
if(!Q.empty()) cout << Q isn't empty << '\n'; 
Q.pop(); // 1 2
cout << Q.front() << '\n'; // 1
cout << Q.back() << '\n'; // 2

'CS > 자료구조와 알고리즘' 카테고리의 다른 글

BFS  (0) 2023.02.10
덱(Deque)  (0) 2023.02.09
스택(Stack)  (1) 2023.02.07
연결리스트  (0) 2023.02.06
배열(array)  (0) 2023.02.05