다음 그림과 같은 원형 큐에 한 객체를 입력하는 알고리즘에 대해 의사코… | [9급 지방직 컴퓨터일반] 15년 1회차 기출문제 상세 페이지
1[9급 지방직 컴퓨터일반] 15년 1회차
다음 그림과 같은 원형 큐에 한 객체를 입력하는 알고리즘에 대해 의사코드(pseudo code)를 순서대로 바르게 나열한 것은? (단, 객체는 rear 쪽에 입력되고 front 쪽에서 출력되며, M은 큐의 크기를 나타내는 정수이다.
1
ㄱ - ㄴ - ㄹ
2
ㄴ - ㄹ - ㄷ
3
ㄹ - ㅁ - ㄱ
4
ㅁ - ㄷ - ㄹ
해설
원형 큐에 객체를 넣는 순서는 rear 값 1 증가 → 포화 상태 검사 → rear 위치에 입력이다.
그림에서 front는 첫 원소 바로 앞의 빈칸을, rear는 마지막 원소 C를 가리킨다. 그래서 먼저 rear를 (rear+1)%M으로 옮긴 뒤, 옮긴 rear가 front와 같아지면 큐가 가득 찬 것으로 판정하고, 아니면 그 자리에 객체를 넣는다.
- 공백 상태 검사와 front 값 증가는 객체를 꺼내는 삭제 연산의 절차이므로 삽입 순서에 들어가지 않는다.
- 객체를 먼저 넣고 rear를 증가시키면 rear가 마지막 원소가 아닌 빈칸을 가리키게 되어 그림의 rear 규약과 맞지 않는다.
- 포화 검사 없이 입력부터 하면 가득 찬 큐에서 기존 원소를 덮어쓸 수 있다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
