python__[파이썬을 파이썬답게2]

Jaewon Lee·2021년 5월 26일
0

Algorithm

목록 보기
7/36
post-thumbnail

On.


Python


1) 빅오

✔️ big-O: 입력값이 무한대로 향할때 함수의 상한을 설명하는 수학적 표기방법
✔️ 시간복잡도의 사전적 정의는 어떤 알고리즘을 수행하는 데 걸리는 시간을 설명하는 계산 복잡도를 의미하며, 계산 복잡도를 표기하는 대표적인 방법이 빅오다.
✔️ 시간 복잡도를 표기할 때는 최고차항만을 표기하며, 상수항도 무시한다.

ex.
4n^2 + 3n + 4
O(4n^2)
O(n^2)

빅오 표기법의 종류

1. O(1)
✔️ 입력값이 아무리 커도 실행 시간은 일정하다.
✔️ 해시테이블의 조회 및 삽입이 이에 해당한다.

2. O(logN)
✔️ 대표적인 예로 Binary Search(이진 탐색)이 있다.

3. O(n)
✔️ 선형 시간 알고리즘
✔️ 절렬되지 않은 리스트에서 최댓값, 최솟값을 찾는 경우가 이에 해당하며 값을 찾기 위해서는 모든 값을 적어도 한 번 이상은 살펴봐야 한다.

4. O(nlogN)
✔️ 대표적인 예로 병합정렬이 있고, 대부분의 효율 좋은 정렬 알고리즘이 이에 해당한다.

5. O(n^2)
✔️ 버블 정렬 같은 알고리즘이 이에 해당

6. O(2^n)
✔️ 피보나치 수를 재귀로 계산하는 알고리즘이 이에 해당한다.

7. O(n!)
✔️ TSP(Travelling Salesman Problem)


2) 주요 자료형

None, int (정수형), float (실수형)

bool (불리언)
✔️ bool 또한 0과 1로 구성된 정수형 자료형이다.

set
✔️ set은 중복된 값을 갖지 않는 자료형이다.
✔️ 입력 순서가 유지되지 않는다.

dict
✔️ 매핑 타입은 키와 자료형으로 구성된 복합 자료형이다.

시퀀스
✔️ 불변 : str, tuple, bytes
✔️ 가변 : list

ex.

a = 'jaewon'
b = [1, 2, 3, 4]
a[0] = 'r'               ## str은 불변이라 값을 바꿀 수 없음
b[0] = 100               ## 반면에 list는 가변이라 값을 바꿀 수 있음

3) is 와 ==

✔️ is는 주소 값까지 일치해야 True 반환
✔️ ==는 값만 일치해도 True 반환

ex.

a = 5
b = 5
print(a == b)          ## True
print(a is b)          ## True
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b)          ## True
print(a is b)          ## False


Off.


프로그래머스 랭킹 100위 진입 가즈아!!!🔥🔥🔥

profile
Communication : any

0개의 댓글