BigO

Jisoo Yu·2022년 12월 11일
1

21년, 노션에 정리했던 노마드코더 알고리즘 강의 요약노트

✔️BigO : 시간복잡도를 쉽게 설명할 수 있는 용법

O(N) >> N스탭

# O(1)
def print_first(arr):
	print(arr[0])

N이 얼마나 크던 상관없이 젤 첫번째꺼 꺼내서 출력하는 거니까 1번의 과정만 필요함!

# O(1)
def print_first(arr):
	print(arr[0])
	print(arr[0])

BigO는 함수를 상세히 보지 않음. 큰 원리에만 적용..상수는 신경쓰지 않는다는것~! 200번 작동하던 300번작동하던 O(1)으로 표기함

# O(N)
def print_all(arr):
	for n in arr:
		print(n)

리니어서치와 유사함!

# O(N)
def print_all(arr):
	for n in arr:
		print(n)
	for n in arr:
		print(n)

위 예시와 마찬가지로 Big O는 상수를 신경쓰지 않음!

✔️Quadratic Time (2차 시간) : 중첩반복이 있을 때 발생함

# O(N^2)
def print_all(arr):
	for n in arr:
		for n in arr:
			print(n)

log ↔ 지수
이진검색 : O(log n)

profile
꽤 행복한 사람😎

0개의 댓글

관련 채용 정보