본문 바로가기
알고리즘

Queue,DEQ,원형큐

by useSword 2024. 3. 12.

Queue

 

특징

- 한쪽 끝에서 자료를 넣고 반대 쪽 끝에서 자료를 뺀다.
- 이와 같은 속성에 따라, 가장 먼저 들어간 자료를 가장 먼저 빼게 된다.
- 이 속성을 선입선출(FIFO , First In First Out) 이라고 부른다.
- 기본적인 자료구조이기 때문에 거의 모든 언어의 표준 라이브러리에서 구현체 제공

ex) 놀이공원이나 음식점에서의 줄 등

 

개념

데이터를 삽입하는 곳을 Rear(후방), 데이터를 추출하는 곳을 Front(전방)이라고 합니다.

 

 

<이 부분은 아직 제대로 안해봄. 직접 코딩해볼 예정.>

특징 때문에 리스트로 작성하여 만들시 아래와 같은 문제가 생긴다.

리스트의 경우 인덱스 값이 정해져 있다. 

index 1 2 3 4 5 6 7

value 5 7 6 4 2 9 7

여기서 5가 사라지면 인덱스 값도 앞으로 당겨줘야한다.

 

 

 

DEQ (Double Ended Queue)

 

DEQ는 양쪽 끝에서 데이터를 삽입 및 삭제할 수 있는 큐입니다.

DEQ의 장점

  • 큐와 스택의 기능을 모두 제공합니다.
  • 다양한 응용 분야에서 사용됩니다.

DEQ의 단점

  • 구현이 다소 복잡합니다.
  • 일반적인 큐보다 느릴 수 있습니다.

 

 

원형큐(Circular Queue)

 

원형큐는 큐의 끝에 도달하면 다시 처음부터 데이터를 삽입하는 방식으로 구현된 큐입니다.

원형큐의 장점

  • 공간 활용도가 높습니다.
  • 삽입 및 삭제 연산이 빠릅니다.

원형큐의 단점

  • 구현이 다소 복잡합니다.
  • 데이터가 가득 찼는지 확인하는 것이 어렵습니다.

'알고리즘' 카테고리의 다른 글

알고리즘 7일차  (2) 2024.03.14
알고리즘 6일차  (0) 2024.03.13
병합정렬  (0) 2024.03.11
삽입정렬  (0) 2024.03.11
버블정렬  (0) 2024.03.11