코딩테스트를 위한 자료구조 알고리즘

빅오

테오구 2021. 12. 5. 18:23
728x90

빅오란 입력값이 무한대로 향할때 함수의 상한을 설명하는 수학적 표기 방법

 

빅오는 점근적 실행 시간을 표기할 때 가장 널리 쓰이는 수학적 표기법 중 하나이다.

점근적 실행(시간복잡도) : 입력값 n이 커질 때, 입력값이 무한대를 향할 때 리미트 함수의 실행 시간의 추이를 의미한다.

O(1) 입력값이 아무리 커도 실행 시간은 일정 해시 테이블의 조합 및 삽입에 해당
O(log n) 입력값에 영향을 받지만 크지는 않다. 이진 검색이 해당
O(n) 실행 시간이 입력값에 비례한다. 최댓값, 최솟값을 찾는 경우
O(n log n)   병합

매핑

매핑 타입은 키와 자료형으로 구성된 복합 자료형이며 자료형 딕셔너리이다. 

 

집합

파이썬의 집합 자료형인 set은 중복된 값을 가지 않는 자료형이다.

a = set()
a
# set()
type(a)
# <class 'set'>

집합과 딕셔너리의 차이점

딕셔너리는 키/값 형태이지만 집합은 값만 선언하므로 선언 형태를 보면 알 수 있다.

a = {'a', 'b', 'c'}
type(a)
# <class 'set'>
a = {'a':'A', 'b':'B', 'c':'C'}
type(a)
# <class 'dict'>

set은 입력 순서가 유지되지 않으며 중복된 값이 있을 경우 하나의 값만 유지한다.

a = {3, 2, 3, 5}
a
# {2, 3, 5}

원시 타입

 

728x90