자료 구조와 알고리즘

빈 큐에 A, B, C의 순서로 원소를 넣고 하나를 꺼낸 뒤, D를 넣고 하나를 꺼내고, E를 넣고 하나를 꺼냈다. 꺼낸 원소를 차례로 나열한 것은?

  1. AA, B, C
  2. BC, D, E
  3. CC, B, A
정답과 해설 보기

정답: A. A, B, C

큐는 먼저 넣은 것부터 차례로 꺼내는 선입선출(FIFO) 구조입니다. A, B, C를 넣은 뒤 처음 꺼낼 때는 A가 나옵니다. 그 후 D나 E를 뒤에 추가해도 앞에 있는 B, C가 먼저 나오므로, 꺼내는 순서는 A, B, C이고 마지막에 D와 E가 남습니다. C, D, E는 그때마다 마지막에 넣은 것을 꺼내는 스택(LIFO)으로 다룬 경우의 순서입니다. 큐는 프린터의 인쇄 대기, 태스크 간에 데이터를 주고받는 메시지 큐, 너비 우선 탐색 등에 쓰입니다.

이 분야 연습하기 분야로 돌아가기

자료 구조와 알고리즘의 다른 문제

  1. 역폴란드 표기법(후위 표기법)으로 쓴 식 '3 4 + 2 * 5 −'를, 수가 오면 스택에 쌓고 연산자가 오면 두 값을 꺼내 계산하여 결과를 쌓는 방법으로 평가했다. 결과는 얼마인가? 여기서 연산자의 왼쪽 값은 먼저 쌓인 쪽의 값으로 한다.
  2. 해시 테이블에서 충돌(collision)에 대한 설명으로 올바른 것은?
  3. 크기 7인 해시 테이블(위치 0~6)에 해시 함수 h(k) = k mod 7로 키 10, 17, 24, 3을 이 순서로 저장한다. 충돌했을 때는 위치를 하나씩 뒤로 옮기며(6 다음은 0) 빈 위치를 찾는 선형 탐사법을 사용한다. 키 3이 저장되는 위치는?
  4. 해시 테이블의 충돌을 처리하는 방법으로 체이닝(같은 위치의 원소를 연결 리스트로 잇는다)과 개방 주소법(표 안의 비어 있는 다른 위치를 찾는다)을 비교한 설명으로 올바른 것은? 적재율은 저장한 원소 수를 표의 크기로 나눈 값으로 한다.
  5. 배열 가운데의 원소와 비교하여 찾는 범위를 절반씩 좁혀 가는 이진 탐색을 사용하기 위한 전제 조건으로 올바른 것은?