반응형

📌 퀴즈 개요
이 퀴즈는 "Big-O 표기법 심화" 개념을 더욱 깊이 이해하기 위한 추가 문제들로 구성되어 있습니다. 각 문제의 답을 선택하거나 직접 작성해보세요!
🧩 1. 개념 이해 문제
❓ 문제 1
Big-O 표기법에서 O(n log n) 시간복잡도를 가지는 알고리즘은?
- 이진 탐색
- 퀵 정렬
- 선형 탐색
- 버블 정렬
❓ 문제 2
Big-O 표기법에서 가장 효율적인 알고리즘은?
- O(n)
- O(n log n)
- O(n^2)
- O(1)
🧩 2. 실전 문제
❓ 문제 3
다음 코드에서 log_search(n) 함수의 시간복잡도는?
def log_search(n):
while n > 1:
n = n // 2
- O(n)
- O(n log n)
- O(log n)
- O(1)
❓ 문제 4
다음 코드의 시간복잡도를 올바르게 분석한 것은?
for i in range(n):
for j in range(n):
for k in range(n):
print(i, j, k)
- O(n)
- O(n^3)
- O(n log n)
- O(2^n)
❓ 문제 5
Big-O 표기법에서 상수를 무시하는 이유는?
- 상수는 실행 시간에 영향을 주지 않기 때문이다.
- 입력 크기가 커질수록 상수의 영향이 작아지기 때문이다.
- Big-O 표기법은 정확한 실행 시간을 측정하는 것이 목적이기 때문이다.
- 컴퓨터 성능에 따라 상수 값이 달라지기 때문이다.
🏆 정답 및 해설
✅ 문제 1 정답: 2)
- 퀵 정렬은 평균적으로 O(n log n)의 시간복잡도를 가집니다.
✅ 문제 2 정답: 4)
- O(1)은 입력 크기에 상관없이 항상 일정한 실행 시간을 가지므로 가장 효율적입니다.
✅ 문제 3 정답: 3)
while n > 1:
n = n // 2 # 매 반복마다 n이 절반으로 줄어들므로 O(log n)
✅ 문제 4 정답: 2)
for i in range(n):
for j in range(n):
for k in range(n):
print(i, j, k) # 세 번의 반복문 중첩 → O(n^3)
✅ 문제 5 정답: 2)
- 입력 크기가 커질수록 상수의 영향이 작아지므로 무시합니다.
반응형
'IT > algorithm' 카테고리의 다른 글
[Python] 알고리즘 개념8 - 큐(Queue) (0) | 2025.02.20 |
---|---|
[Python] 알고리즘 개념7 - 스택(Stack) (0) | 2025.02.20 |
[Python] 알고리즘 개념6 - 연결 리스트 (Linked List) (0) | 2025.02.20 |
[Python] 알고리즘 개념5 - 동적 프로그래밍 (DP) (0) | 2025.02.20 |
[Python] 알고리즘 개념1 추가 퀴즈 - 시간복잡도 & 공간복잡도 (0) | 2025.02.20 |
[Python] 알고리즘 개념4 퀴즈 - 재귀와 백트래킹 (0) | 2025.02.20 |
[Python] 알고리즘 개념4 - 재귀와 백트래킹 (0) | 2025.02.20 |
[Python] 알고리즘 개념2 퀴즈 - Big-O 표기법 심화 (0) | 2025.02.20 |
댓글