해결된 질문
작성
·
73
0
공간복잡도가 N인 경우는 큰 차이가 없다고 이해했습니다.
예제 코드에서도 29, 30 처럼 N인 경우를 확인하였습니다.
그렇다면 공간복잡도가 N^2인 경우는 어떤 예제 코드가 될 수 있을까요??
시간복잡도는 이해가 갔는데(ex. 이중for문) 공간복잡도가 N^2인 경우는 어떻게 되는지 궁금합니다!
답변 1
0
안녕하세요 Aurora 님 좋은 질문 감사합니다!
공간복잡도가 O(N²)인 경우를 실제 예제와 함께 설명해드리겠습니다.
가장 직관적인 예시는 N x N 크기의 2차원 배열(행렬)을 생성하는 경우입니다.
def create_multiplication_table(n):
table = []
for i in range(n):
row = []
for j in range(n):
row.append(i * j) # i와 j의 곱셈값을 저장
table.append(row)
return table
# n이 3일 때의 결과:
# [
# [0, 0, 0],
# [0, 1, 2],
# [0, 2, 4]
# ]
즉 n(3) 이라는 입력값의 크기에 비해 n^2(9) 만큼의 영역을 차지하게 되므로 n^2 의 공간을 차지한다고 표현할 수 있을 것 같습니다!
더 궁금하신 점 있으시면 남겨주세요 좋은 질문 감사합니다!