• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

2:23 초 1이 나오기 위해서 이해가 안갑니다.

23.01.23 17:31 작성 조회수 255

1

안녕하세요 감자님

다름이 아니라 2:23 초에서 1이 가장먼저 나오기 위해서는 Que 특성상 4, 3, 2가 제거되야 1이 나오는거 아닌가요? 왜 1을 제거를 하는지 이해가 안갑니다.

답변 1

답변을 작성해보세요.

1

안녕하세요 이주호님.

큐에서 궁금증이 생기셨군요?

 

큐의 특성으로 1이 가장 먼저 나오려면 4,3 2가 제거되는 것이 아니라

1,2,3,4 순으로 삽입되어 4,3,2,1로 구성된 연결리스트에서 1을 가장 먼저 제거하는것이 큐입니다!

First in First out인것이죠.

4,3,2,1로 구성된 연결리스트에서 가장 먼저 삽입된 1이 먼저 제거될려면 1부터, 즉 가장 뒷부분부터 제거해야 하는 것이 큐입니다.

 

실제로 자료구조는 내부가 어떻게 구현되어 있어도 동작만 제대로 하면 해당 자료구조라고 부릅니다.

큐라고 부르는건 "가장 먼저 삽입된 데이터가 가장 먼저 나온다" 라는 조건만 충족하면 됩니다!

따라서 1,2,3,4 순으로 삽입되어 4,3,2,1로 구성된 연결리스트에서 가장 뒷부분인 1부터 제거하는 것도 큐이고

1,2,3,4순으로 삽입되어 1,2,3,4로 구성된 연결리스트에서 가장 앞부분인 1부터 제거해도 큐입니다.

아 그렇군요... Stack이랑 헷갈려서 ㅋㅋㅋㅋㅋ 멍청한 질문인데도 상세하게 답변 달아주셔서 감사합니다!

처음엔 누구나 헷갈리니까 그럴수도 있습니다!

파이팅입니다! ☺