정답이 있는 자료구조 학습지

무료 인쇄용 자료구조 학습지: 쉬운 문제부터 시험 수준까지 8문제, 정답표 포함. 인쇄하거나 PDF로 저장하세요.

교수자 안내: 수업에서 무료로 인쇄, 복사, 사용할 수 있습니다. 새 워크시트마다 값이 새로 바뀌고 별도의 정답이 함께 제공됩니다. 강의 페이지에 ExamProblems 링크를 걸어 주시면 감사하겠습니다.

이름: ____________________   날짜: ____________

1.쉬움

배열의 원소는 메모리에 어떻게 저장됩니까?

  1. A하나의 연속된 블록에 차례대로
  2. B메모리 페이지의 트리에
  3. C해시가 고른 임의의 위치에
  4. D흩어져 있고 포인터로 연결되어
2.쉬움

배열에서는 느리지만 연결 리스트의 head에서는 빠른 연산은 무엇입니까?

  1. A인덱스로 마지막 원소 읽기
  2. B맨 앞에 삽입하기
  3. C고정 배열의 길이 구하기
  4. D5번째 원소에 접근하기
3.쉬움

맵(딕셔너리)은 무엇을 저장합니까?

  1. A같은 키의 쌍
  2. B키가 유일한 키–값 쌍
  3. C삽입 순서대로 값만
  4. D크기순으로 정렬된 값
4.보통

이진 힙에 새 원소는 어떻게 삽입됩니까?

  1. A배열의 끝에 놓고 힙 성질을 위반하는 동안 위로 올린다(sift up)
  2. B힙 전체를 처음부터 다시 만든다
  3. C더 큰 원소들을 모두 오른쪽으로 한 칸씩 밀어 정렬된 위치에 삽입한다
  4. D루트에 놓고 아래로 내린다(sift down)
5.보통

키를 정렬된 순서로 삽입하면, n개의 노드를 가진 이진 탐색 트리의 최악의 높이는 얼마입니까?

  1. Alog₂ n
  2. B√n
  3. C1
  4. Dn (연결 리스트처럼 됨)
6.보통

이진 힙을 포인터 없이 배열에 저장할 수 있는 이유는 무엇입니까?

  1. A배열이 키를 자동으로 정렬된 순서로 유지하므로 포인터가 필요 없기 때문에
  2. B완전 이진 트리이므로 위치가 간단한 인덱스 공식을 따르기 때문에
  3. C힙의 모든 키가 같기 때문에
  4. D힙에는 원소가 100개를 넘지 않기 때문에
7.어려움

동적 배열은 가득 차면 두 배로 커집니다. 많은 구현이 배열이 절반이 아니라 4분의 1만 찼을 때에만 축소하는 이유는 무엇입니까?

  1. A메모리 할당기가 블록의 4분의 1 단위로만 메모리를 해제할 수 있기 때문에
  2. B절반에서 반으로 줄이면 원소를 잃기 때문에
  3. C경계 근처에서 push와 pop이 번갈아 일어날 때 반복적인 크기 조정을 피하기 위해
  4. D배열을 정렬된 상태로 유지하기 위해
8.어려움

키 5, 3, 8, 1을 이 순서로 빈 배열 기반 이진 최소 힙에 삽입합니다. 최종 배열은 무엇입니까?

  1. A[1, 3, 8, 5]
  2. B[1, 5, 8, 3]
  3. C[1, 3, 5, 8]
  4. D[3, 1, 8, 5]

정답표

  1. 1. A · 하나의 연속된 블록에 차례대로
  2. 2. B · 맨 앞에 삽입하기
  3. 3. B · 키가 유일한 키–값 쌍
  4. 4. A · 배열의 끝에 놓고 힙 성질을 위반하는 동안 위로 올린다(sift up)
  5. 5. D · n (연결 리스트처럼 됨)
  6. 6. B · 완전 이진 트리이므로 위치가 간단한 인덱스 공식을 따르기 때문에
  7. 7. C · 경계 근처에서 push와 pop이 번갈아 일어날 때 반복적인 크기 조정을 피하기 위해
  8. 8. A · [1, 3, 8, 5]

자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.