void Function(int n){
int i;
int even_sum = 0;
for(i=0; i<n; i=i+2)
even_sum = even_sum + i;
}
이거 교수가 예제라고 설명하는데
T(n) = 1 + 2*(n/2)라서 n + 1이라는데
even_sum은 함수지 자료형이아닌데
어떻게 T(n) = n + 1이 나오냐??
비대면강의되니까 강의질 ㅈ되네 진짜 ㅋㅋㅋㅋㅋㅋ
void Function(int n){
int i;
int even_sum = 0;
for(i=0; i<n; i=i+2)
even_sum = even_sum + i;
}
이거 교수가 예제라고 설명하는데
T(n) = 1 + 2*(n/2)라서 n + 1이라는데
even_sum은 함수지 자료형이아닌데
어떻게 T(n) = n + 1이 나오냐??
비대면강의되니까 강의질 ㅈ되네 진짜 ㅋㅋㅋㅋㅋㅋ
even_sum이 왜 함수여?
아 잘못말함 변수
O(n)
빅오표기법 들어가기 전 예제여서그럼
컨셉인 거임?? 교수 설명이 정확한 거 아님??? 무슨 말인지 알아 듣게 써봥
내가 이해를 못하는거임? n에다가 짝수들어가면 횟수맞는데 홀수들어가면 연산횟수 틀리는거 아냐?
홀수면 그렇겠네 - dc Cpp
초기화 1회, n/2(덧셈 1회 대입 1회, 총 2회 인스트럭션) 해서 총 n + 1회의 인스트럭션이 있다는 것이군? - dc Cpp
처음에 대입 연산 1번, 반복문 (n / 2)회 안ㅔ서 매 번 덧셈연산이랑 대입산산 있으니께 다 합치면 결국T(n) = 1 + (n / 2) * 2인 게 맞고, 이걸 빅오표기법으로 쓰면 O(n) 인 거니까 정확한 거 아님???
그럼 너가 생각하는 시간복잡도는 뭐임?
사용자문제
시간복잡도는 loop 횟수 함수 호출 횟수로 결정되는거임 나머지는 무시해도 됨 n개 중에 짝수만 뽑아서 더하는 로직이니까 n/2라고 해도 어차피 1/2은 상수니까 무시하고 빅오 O(N) 짜리 알고리즘이 되는거임
n 넣으면 n 사이클 도는거니까 O(n) 맞네. 뭐가 문제람