[Algorithm] #6 큐

g.pm·2022년 10월 5일

알고리즘

목록 보기
6/6
post-thumbnail

🚥 큐

  • 삽입 삭제 위치가 제한적인 자료구조**
    * 뒤 : 삽입(rear), 앞 : 삭제(front), front = rear 공백
  • 선입 선출 구조(FIFO) **
    종류 : 선형, 원형, 연결 queue, 우선순위 queue

선형 큐

  • 1차원 배열을 이용한 queue
  • 큐의크기 : 배열의 크기**
    front : 저장된 첫번째 원소의 인덱스 rear : 저장된 마지막
  • 상태 표현 : 초기(f=r=-1) , 공백(f=r),포화**
  • 단점** : 삽입, 삭제를 계속할 경우 배열의 앞부분에 공간이 있음에도 불구하고 포화상태로 인지
    => 원형 queue 로 논리적 구조로 해결

원형 큐

  • f = r = 0
  • mod를 사용

연결 큐

  • 선형과 원형 큐를 개선한 큐
  • 초기, 공백, 포화x

우선순위 큐

  • 우선순위를 가진 항목들은 저장하는 큐
  • FIFO 순서가 아니라 우선순위가 높은 순서대로 먼저 나감.
  • 배열 or 리스트로 구현.
    • 배열 : 최고 우선순위 원소가 위치하게 됨. / 배열을 사용하므로 삽입 삭제 연산이 일어날때 원소의 재배치 발생
      소요되는 시간, 메모리 낭비가 큼. => 연결리스트 우선순위 queue, heap 자료구조

BFS(너비우선탐색)
- 시작점의 인접한 정점들을 모두 차례로 방문한 후 방문했던 정점을 시작점으로 하여 다시 인접한 장점들을 차례로 방문하는 방식.
- 인접한 정점들을 탐색한 후, 차례로 너비 우선 탐색을 진행해야 하므로, 선입선출 형태의 자료구조의 Queue 활용

profile
다재다능

0개의 댓글