본 글은 코딩 테스트 겸 알고리즘을 제대로 공부하기 위하여 기존에 공부를 했던 내용을 다시 요약 복습하는 글입니다 :)
따라서 내용이 많이 생략 되어 있으며, 원문을 보시고 싶으시면 저의 블로그 원본 글을 참조해 주세요.
또한 본 내용은 이것이 취업을 위한 코딩테스트다
라는 교재의 내용 + 유튜브 인강을 기반으로 되어 있으니, 직접 학습하시는 것도 좋다고 생각됩니다.
성능
을 나타내는 척도입니다.
좋은 알고리즘
이라고 보시면 됩니다.가장 빠르게 증가하는 항
만을 고려하는 표기array = [3, 5, 1, 2, 4] # 5개의 데이터
summary = 0
for x in array;
summary += x # 모든 데이터를 하나씩 확인하며 합계를 계산
# 결국 전체 프로그램의 연산량을 좌우하는 것은 이 부분...
print(summary)
# 최종적으로 n 개 만큼의 연산작업이 소요되므로 시간복잡도는 𝑂(𝑁)
array = [3, 5, 1, 2, 4]
for i in array: # n 번 수행함
for j in array: # 각 경우당 다시 n 번 진행함.
temp = i * j
print(temp)
# 최종적으로 각 N개의 항에 대해 항 당 N개를 수행하므로 시간복잡도는 𝑂(𝑁²)