자료 구조와 알고리즘

빈 스택에 대해 push 1, push 2, pop, push 3, push 4, pop, pop의 순서로 조작했다. pop으로 꺼낸 값을 차례로 나열한 것은?

  1. A1, 2, 3
  2. B2, 3, 4
  3. C2, 4, 3
정답과 해설 보기

정답: C. 2, 4, 3

스택은 마지막에 넣은 것을 가장 먼저 꺼내는 후입선출(LIFO) 구조입니다. push 1, push 2 다음의 pop에서는 맨 위의 2가 나오고 1이 남습니다. 이어서 3, 4를 쌓으면 위에서부터 4, 3, 1의 순서로 놓이므로, 두 번의 pop으로 4, 3의 순서로 나옵니다. 따라서 꺼낸 순서는 2, 4, 3이며, 마지막에 스택에는 1이 남습니다. 1, 2, 3은 먼저 넣은 것부터 꺼내는 큐(선입선출, FIFO)로 다룬 경우의 순서입니다.

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

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

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