정답이 있는 알고리즘과 복잡도 학습지
무료 인쇄용 알고리즘과 복잡도 학습지: 쉬운 문제부터 시험 수준까지 8문제, 정답표 포함. 인쇄하거나 PDF로 저장하세요.
교수자 안내: 수업에서 무료로 인쇄, 복사, 사용할 수 있습니다. 새 워크시트마다 값이 새로 바뀌고 별도의 정답이 함께 제공됩니다. 강의 페이지에 ExamProblems 링크를 걸어 주시면 감사하겠습니다.
이름: ____________________ 날짜: ____________
1.쉬움
배열에서 인덱스로 원소에 접근하는 데 걸리는 시간은 무엇입니까?
- AO(n²)
- BO(n)
- CO(log n)
- DO(1)
2.쉬움
분할 정복 알고리즘의 세 단계는 무엇입니까?
- A추측, 확인, 반복
- B읽기, 계산, 쓰기
- C정렬, 탐색, 반환
- D분할, 정복, 결합
3.쉬움
n이 클 때 가장 빠르게 증가하는 복잡도 클래스는 무엇입니까?
- AO(n log n)
- BO(n³)
- CO(n²)
- DO(2ⁿ)
4.보통
활동 선택 문제에서 겹치지 않는 활동의 수를 항상 최대로 만드는 탐욕적 규칙은 무엇입니까?
- A가장 일찍 시작하는 활동을 고른다
- B가장 일찍 끝나는 활동을 고르고, 호환되는 활동들로 반복한다
- C겹침이 가장 적은 활동을 먼저 고른 뒤, 호환되는 활동들로 반복한다
- D가장 짧은 활동을 먼저 고른다
5.보통
간선 가중치가 음이 아닌 그래프에서 하나의 출발점으로부터 최단 경로를 찾는 알고리즘은 무엇입니까?
- ADijkstra 알고리즘
- B모든 경우에 Bellman–Ford가 필요함
- CKruskal 알고리즘
- D깊이 우선 탐색(DFS)
6.보통
문제가 최적 부분 구조를 가진다는 것은 무엇을 의미합니까?
- A최적해를 부분 문제들의 최적해로부터 만들 수 있다
- B문제를 상수 시간에 풀 수 있다
- C모든 부분 문제의 크기가 같다
- D문제의 최적해가 정확히 하나이며 모든 부분 문제가 그것을 공유한다
7.어려움
클래스 NP의 올바른 정의는 무엇입니까?
- A인증서가 주어지면 "예" 답을 다항 시간에 검증할 수 있는 결정 문제
- B다항이 아닌 문제
- C다항 시간에 풀 수 없는 문제
- D어떤 알고리즘으로도 풀 수 없는 문제
8.어려움
단일 연결 리스트에서 이진 탐색이 O(log n) 시간을 주지 못하는 이유는 무엇입니까?
- A이진 탐색에는 최소 두 배의 메모리가 필요하기 때문에
- B직접 인덱스 접근이 없으므로 가운데 원소에 도달하는 데 O(n) 단계가 걸리기 때문에
- C연결 리스트 노드의 비교가 더 느리기 때문에
- D연결 리스트는 정렬할 수 없기 때문에
정답표
- 1. D · O(1)
- 2. D · 분할, 정복, 결합
- 3. D · O(2ⁿ)
- 4. B · 가장 일찍 끝나는 활동을 고르고, 호환되는 활동들로 반복한다
- 5. A · Dijkstra 알고리즘
- 6. A · 최적해를 부분 문제들의 최적해로부터 만들 수 있다
- 7. A · 인증서가 주어지면 "예" 답을 다항 시간에 검증할 수 있는 결정 문제
- 8. B · 직접 인덱스 접근이 없으므로 가운데 원소에 도달하는 데 O(n) 단계가 걸리기 때문에
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.