값들이 여러개 있고 연산하고 난 값 중 최대값를 찾는건데
for문 돌면서 연산을 통해 새 값을 만들고 각 실행마다 이전 max, 현재값 비교로 max 갱신하기
vs
for 문 돌면서 연산을 통해 새 값을 만들고 이를 저장, for문 끝나면 max 로 한번에 max 찾기
둘 중에 뭐가 빠를까? 아니면 완전히 같을까?
메모리리소스측면에서는 무조건 전자가 이득일거같은데, 속도도 무조건 전자가 빠름? 아니면 메모리 희생한 만큼 후자가 빠른가? 아니면 속도는 완전히 같을까?
전자가 빠르지 후자는 for문을 2번 돌잖아
전자도 O(2n)아님? O(1)(=max(A,B)을 n번 수행하잖아.
for문 돌때 index < length 비교를 하잖아 이걸 한번 더하면 그만큼 손해지
1. MAX = 0; for{A=연산; MAX=max(A, MAX)}, 2. MAX=[]; for{MAX.append(연산)};max(MAX);
파이썬에서는 iterator 라서 length 비교를 안하는데 그래도 손해인가??
iterator도 내부적으로는 다음값이 있는지 계속 찾으면서 돌걸?
max함수도 어차피 내부적으로 루프 돌기 때문에 1번이 왠만해선 더 빠름
이래서 언어랑 라이브러리 구현이 어떻게 되어있는지 조금이라도 알아야 함 - dc App