큐(Queue)란?_큐의 특징
큐는 한쪽 방향으로 데이터가 들어오고(삽입) 다른 반대방향으로 나가는(제거) 자료구조이다.
큐는 먼저 들어온 데이터가 제일 나중에 나가는 선입후출(FILO)인 스택과는 다르게 먼저 들어온 데이터가 먼저 나간다는 특징이 있다.(선입선출, FIFO, 후입후출, LILO)
다른 자료구조들에 비해 구현이 쉬운 편이다.
큐는 왜 사용하는 것일까?
맨 처음 들어온 데이터가 먼저 나가는 구조(FIFO)를 가진 특징 덕분에, 큐는 프로세스를 관리하는 스케줄러에서 쓰일 수 있으며, 일상 속에서 대기열이 필요한 곳에서 쓰일 수 있기 때문이다.
또한 큐는 다른 자료구조에서 연산에 사용되는 등 다양한 알고리즘에서 사용되기 때문이다.
큐의 구조 및 연산
위 사진은 삽입 방향이 왼쪽인 큐의 구조를 나타낸 그림이다.
Enqueue(삽입): 큐의 삽입방향으로 값을 삽입
Dequeue(삭제): 큐의 삭제방향에 있는 값을 제거
isFull: 큐가 가득 차있는지 검사
isEmpty: 큐가 비어있는지 검사
다음시간엔 C로 위 선형 큐를 직접 구현해 보는 시간을 가지도록 할 것이다.
참조
천인국 외 2인 , C언어로 쉽게 풀어쓴 자료구조, 생능출판, 2019
'수업내용정리 > 자료구조' 카테고리의 다른 글
[자료구조][C언어]큐(Queue)란?(3)_큐의 구현(원형큐) (0) | 2023.04.13 |
---|---|
[자료구조][C언어]큐(Queue)란?(2)_큐의 구현(선형큐) (11) | 2023.04.13 |
[자료구조][C언어]그래프란?(4)_DFS와 BFS_좀 더 알아보기 (0) | 2022.12.29 |
[자료구조][C언어]그래프란?(3)_DFS와 BFS의 이해 (0) | 2022.12.28 |
[자료구조][C언어]그래프란?(2)_그래프의 구현 (0) | 2022.12.06 |