좋은 알고리즘이란?알고리즘 평가법1부터 n까지의 합

Q

n(n+1)/2로 바꾸는 이유

조회 1978

좋아요 6

2021년 3월 30일




A
1개의 답변이 있어요



2021년 3월 30일

댓글 2

2021년 3월 30일
O(1)이 된다고하셨는데 선택정렬의 시간복잡도가 T(n) = (n-1) + (n-2) + … + 2 + 1 = n(n-1)/2 = O(n^2) 라고하는건 왜 n^2 인건가요???? n(n+1)/2 = O(1) 이고 n(n-1)/2 는 왜 O(n^2)죠????
2021년 4월 1일
선택정렬의 시간복잡도는 위 강의와도 관련없고 더하는 방법과도 상관이 없습니다. 제가 말씀드린건 어떤 수를 1부터 N까지 더할 때를 의미한 것이며 덧셈을 할 때 굳이 n번 반복하지 않고 저 공식을 쓰면 O(1)이 된다는 것이었습니다.

선택정렬이라는 말씀은 전혀 적혀있지 않아서 알 수 없었네요.

선택정렬의 시간복잡도는 중첩된 반복문으로 바깥쪽의 반복은 n-1번 안쪽의 반복은 1 ~ n-1까지의 합이 됩니다.

그래서 1 ~ n-1까지의 합만큼 걸린다고 볼 수 있습니다. 그 결과 O(n^2)이 되는겁니다.

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇