정답이 있는 자료구조 학습지
무료 인쇄용 자료구조 학습지: 쉬운 문제부터 시험 수준까지 8문제, 정답표 포함. 인쇄하거나 PDF로 저장하세요.
교수자 안내: 수업에서 무료로 인쇄, 복사, 사용할 수 있습니다. 새 워크시트마다 값이 새로 바뀌고 별도의 정답이 함께 제공됩니다. 강의 페이지에 ExamProblems 링크를 걸어 주시면 감사하겠습니다.
이름: ____________________ 날짜: ____________
1.쉬움
배열의 원소는 메모리에 어떻게 저장됩니까?
- A하나의 연속된 블록에 차례대로
- B메모리 페이지의 트리에
- C해시가 고른 임의의 위치에
- D흩어져 있고 포인터로 연결되어
2.쉬움
배열에서는 느리지만 연결 리스트의 head에서는 빠른 연산은 무엇입니까?
- A인덱스로 마지막 원소 읽기
- B맨 앞에 삽입하기
- C고정 배열의 길이 구하기
- D5번째 원소에 접근하기
3.쉬움
맵(딕셔너리)은 무엇을 저장합니까?
- A같은 키의 쌍
- B키가 유일한 키–값 쌍
- C삽입 순서대로 값만
- D크기순으로 정렬된 값
4.보통
이진 힙에 새 원소는 어떻게 삽입됩니까?
- A배열의 끝에 놓고 힙 성질을 위반하는 동안 위로 올린다(sift up)
- B힙 전체를 처음부터 다시 만든다
- C더 큰 원소들을 모두 오른쪽으로 한 칸씩 밀어 정렬된 위치에 삽입한다
- D루트에 놓고 아래로 내린다(sift down)
5.보통
키를 정렬된 순서로 삽입하면, n개의 노드를 가진 이진 탐색 트리의 최악의 높이는 얼마입니까?
- Alog₂ n
- B√n
- C1
- Dn (연결 리스트처럼 됨)
6.보통
이진 힙을 포인터 없이 배열에 저장할 수 있는 이유는 무엇입니까?
- A배열이 키를 자동으로 정렬된 순서로 유지하므로 포인터가 필요 없기 때문에
- B완전 이진 트리이므로 위치가 간단한 인덱스 공식을 따르기 때문에
- C힙의 모든 키가 같기 때문에
- D힙에는 원소가 100개를 넘지 않기 때문에
7.어려움
동적 배열은 가득 차면 두 배로 커집니다. 많은 구현이 배열이 절반이 아니라 4분의 1만 찼을 때에만 축소하는 이유는 무엇입니까?
- A메모리 할당기가 블록의 4분의 1 단위로만 메모리를 해제할 수 있기 때문에
- B절반에서 반으로 줄이면 원소를 잃기 때문에
- C경계 근처에서 push와 pop이 번갈아 일어날 때 반복적인 크기 조정을 피하기 위해
- D배열을 정렬된 상태로 유지하기 위해
8.어려움
키 5, 3, 8, 1을 이 순서로 빈 배열 기반 이진 최소 힙에 삽입합니다. 최종 배열은 무엇입니까?
- A[1, 3, 8, 5]
- B[1, 5, 8, 3]
- C[1, 3, 5, 8]
- D[3, 1, 8, 5]
정답표
- 1. A · 하나의 연속된 블록에 차례대로
- 2. B · 맨 앞에 삽입하기
- 3. B · 키가 유일한 키–값 쌍
- 4. A · 배열의 끝에 놓고 힙 성질을 위반하는 동안 위로 올린다(sift up)
- 5. D · n (연결 리스트처럼 됨)
- 6. B · 완전 이진 트리이므로 위치가 간단한 인덱스 공식을 따르기 때문에
- 7. C · 경계 근처에서 push와 pop이 번갈아 일어날 때 반복적인 크기 조정을 피하기 위해
- 8. A · [1, 3, 8, 5]
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.