반응형
📌 퀴즈 개요
이 퀴즈는 "Big-O 표기법 심화" 개념을 이해하고 있는지 확인하기 위한 문제들로 구성되어 있습니다. 각 문제의 답을 선택하거나 직접 작성해보세요!
🧩 1. 개념 이해 문제
❓ 문제 1
Big-O 표기법에서 가장 효율적인 알고리즘 복잡도는?
- O(n^2)
- O(log n)
- O(n)
- O(n!)
❓ 문제 2
다음 코드의 시간복잡도는?
for i in range(n):
for j in range(n):
print(i, j)
- O(n)
- O(n log n)
- O(n^2)
- O(log n)
🧩 2. 실전 문제
❓ 문제 3
다음 코드에서 arr.sort()의 시간복잡도는?
arr = [3, 1, 4, 1, 5, 9]
arr.sort()
- O(n)
- O(n log n)
- O(n^2)
- O(1)
❓ 문제 4
다음 코드의 실행 시간복잡도는?
for i in range(n):
if arr[i] == target:
break
- O(1)
- O(n)
- O(n^2)
- O(log n)
❓ 문제 5
Big-O 표기법에서 상수를 무시하는 이유는?
- 상수는 실행 시간에 영향을 주지 않기 때문이다.
- 입력 크기가 커질수록 차이가 없어지기 때문이다.
- 상수는 언어마다 다르게 동작하기 때문이다.
- 코드 실행 시간이 항상 일정하기 때문이다.
🏆 정답 및 해설
✅ 문제 1 정답: 2)
- O(log n)은 이진 탐색과 같은 알고리즘에서 사용되며 매우 효율적입니다.
✅ 문제 2 정답: 3)
for i in range(n):
for j in range(n):
print(i, j) # 총 n * n 실행되므로 O(n^2)
- 중첩 반복문이므로 O(n^2)입니다.
✅ 문제 3 정답: 2)
arr.sort() # Timsort 알고리즘 사용 → O(n log n)
- Python의 sort()는 Timsort를 사용하며, 최적 시간복잡도는 O(n log n)입니다.
✅ 문제 4 정답: 2)
for i in range(n):
if arr[i] == target:
break # 최악의 경우 n번 실행되므로 O(n)
- 최악의 경우 배열의 마지막까지 탐색해야 하므로 O(n)입니다.
✅ 문제 5 정답: 2)
- Big-O 표기법은 입력 크기가 매우 커졌을 때의 경향을 분석하므로, 상수 계수는 무시됩니다.
반응형
'IT > algorithm' 카테고리의 다른 글
[Python] 알고리즘 개념2 추가 퀴즈 - Big-O 표기법 심화 (0) | 2025.02.20 |
---|---|
[Python] 알고리즘 개념1 추가 퀴즈 - 시간복잡도 & 공간복잡도 (0) | 2025.02.20 |
[Python] 알고리즘 개념4 퀴즈 - 재귀와 백트래킹 (0) | 2025.02.20 |
[Python] 알고리즘 개념4 - 재귀와 백트래킹 (0) | 2025.02.20 |
[Python] 알고리즘 개념1 퀴즈 - 시간복잡도 & 공간복잡도 (0) | 2025.02.20 |
[Python] 알고리즘 개념3 퀴즈 - 배열과 리스트 (0) | 2025.02.20 |
[Python] 알고리즘 개념3 - 배열과 리스트 (0) | 2025.02.20 |
[Python] 알고리즘 개념2 - Big-O 표기법 심화 (0) | 2025.02.19 |
댓글