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

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

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

이름: ____________________   날짜: ____________

1.쉬움

노드가 n개인 트리에는 간선이 몇 개 있습니까?

  1. A2n
  2. Bn − 1
  3. Cn
  4. Dn + 1
2.쉬움

정적 배열과 동적 배열의 주된 차이는 무엇입니까?

  1. A정적 배열은 인덱스 접근이 더 느리다
  2. B정적 배열은 숫자만 저장할 수 있다
  3. C동적 배열은 원소를 연결된 노드에 저장하므로 한 번에 하나씩 커질 수 있다
  4. D동적 배열은 더 큰 메모리 블록으로 옮겨 가며 커질 수 있다
3.쉬움

스택의 맨 위에 원소를 추가하는 연산의 이름은 무엇입니까?

  1. APush
  2. BPeek
  3. CEnqueue
  4. DPop
4.보통

충돌한 키들을 같은 버킷의 리스트에 저장하는 충돌 해결 방법은 무엇입니까?

  1. A이차 탐사(Quadratic probing)
  2. B선형 탐사(Linear probing)
  3. C이중 해싱(Double hashing)
  4. D분리 체이닝(Separate chaining)
5.보통

원형 버퍼(링 버퍼)는 일반적으로 무엇을 구현하는 데 사용됩니까?

  1. A고정 크기 큐
  2. B해시 함수
  3. C그래프 순회
  4. D이진 탐색 트리
6.보통

높이를 간선 수로 셀 때, 높이가 h인 포화 이진 트리의 노드는 몇 개입니까?

  1. A2h+1 − 1
  2. B2h
  3. C2h + 1
  4. Dh2
7.어려움

서버가 해시 함수를 범용(universal) 해시 함수족에서 무작위로 고르는 이유는 무엇일 수 있습니까?

  1. A테이블 크기 조정의 필요를 없애기 위해
  2. B공격자가 모두 충돌하는 키를 많이 고를 가능성을 매우 낮추기 위해
  3. C공격자가 어떤 키를 보내더라도 어떤 두 키도 결코 충돌하지 않도록 보장하기 위해
  4. D해시 테이블을 정렬된 상태로 만들기 위해
8.어려움

배열에서 크기 k인 모든 윈도우의 최댓값을 전체 O(n)에 계산할 수 있게 하는 구조는 무엇입니까?

  1. A윈도우 원소들의 단일 연결 리스트
  2. B이동으로 갱신하는 정렬된 배열
  3. C윈도우마다 다시 만드는 최소 힙
  4. D값의 내림차순으로 인덱스를 담는 덱

정답표

  1. 1. B · n − 1
  2. 2. D · 동적 배열은 더 큰 메모리 블록으로 옮겨 가며 커질 수 있다
  3. 3. A · Push
  4. 4. D · 분리 체이닝(Separate chaining)
  5. 5. A · 고정 크기 큐
  6. 6. A · 2h+1 − 1
  7. 7. B · 공격자가 모두 충돌하는 키를 많이 고를 가능성을 매우 낮추기 위해
  8. 8. D · 값의 내림차순으로 인덱스를 담는 덱

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