해결된 질문
작성
·
275
답변 1
0
안녕하세요 gurrl905님
맞습니다 그런 의미로 해석하시면 될 것 같아요. 좀 더 자세히 써보면
for 반복 횟수 - while속의 코드 실행 횟수
1번 째 반복: 3번
2번 째 반복: 0번
3번 째 반복: 0번
4번 째 반복: 1번
5번 째 반복: 4번
... : ....
n-1번 째 반복: 1번
n번 째 반복: 0번
for이 n 번반복되면서 while속 코드가 실행되는 횟수는 3번 + 0번 + 0번 + 1번 + 4번 + ... + 1번 + 0번 = n번
이렇게 되는거에요.
보통 시간복잡도가 O(n^2)으로 되려면
for 반복 횟수 - while속의 코드 실행 횟수
1번 째 반복: n번
2번 째 반복: n번
3번 째 반복: n번
4번 째 반복: n번
5번 째 반복: n번
... : ....
n-1번 째 반복: n번
n번 째 반복: n번
이렇게 되거나
for 반복 횟수 - while속의 코드 실행 횟수
1번 째 반복: n-1번
2번 째 반복: n-2번
3번 째 반복: n-3번
4번 째 반복: n-4번
5번 째 반복: n-5번
... : ....
n-1번 째 반복: 1번
n번 째 반복: 0번
이런 경우에 n^2으로 계산이 됩니다.
혹시 차이점 이해하셨나요? gurrl905님께서 적어주신거는 O(n^2)일 가능성이 높은것 같아요.
더 궁금한거 있으면 편하게 질문 주세요 :)