• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

자료구조 기본 개념 정리 - 순환큐 강의 내용 질문

24.03.07 16:50 작성 24.03.07 16:51 수정 조회수 104

1

자료구조 기본 개념 정리 - 순환큐

이 강의에서 7:20 경에 self.head를 4라고 강사님이 말씀하시는데 영상처럼 초록색 화살표가 찍힌 0을 가리켜야 맞는거 아닌가요? 제가 이해를 잘못하고 있는지 강사님이 잘못 말씀하신건지 의문입니다.

코드는 enqueue 메서드 안에 if((self.tail+1) % self.k == self.head): 이부분 설명하는 데입니다.

답변 1

답변을 작성해보세요.

1

안녕하세요 더코딩클럽입니다.
우선 죄송하다는 말씀 드립니다. 해당내용은 수강생분이 생각하고 계신게 맞습니다.

순간적으로 머리와 꼬리부분의 방향이 혼동되어 잘못 설명된 것 같습니다.
주말 통해서 빠르게 해당 강의 틀린부분 수정해서 강의 업로드 하도록 하겠습니다.

self.k 는 대기열의 길이를 나타냅니다.
self.head 는 대기열의 머리부분의 인덱스를 가르킵니다.
self.tail는 대기열의 꼬리부분의 인덱스를 가르킵니다.

해당 enqueue 함수의

요소를 추가 하기전 대기열이 꽉찼는지 확인하는 부분입니다.

꽉찼을 때를 가정하겠습니다.
self.tail 이 끝을 가르키고 ( 4를 가르킵니다. )
self.head 가 0 을 가르킵니다.
대기열의 길이 k = 5 입니다.
(4 + 1) % 5 == 0
이므로 true 가 되는 print 를 출력합니다.

지적 감사드리고 다음번 강의 촬영할 때는 모니터링 엄밀히해서 주의하도록 하겠습니다. 감사합니다.