250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 터치디자이너
- 터치디자이너 튜토리얼
- ableton live 10
- 터치디자이너 python
- 터치디자이너 파이썬
- 터치디자이너 오퍼레이터
- 터치디자이너 list
- 파이썬
- 터치디자이너 reference
- 터치디자이너 함수
- 터치디자이너 클론
- 터치디자이너 참조
- 터치디자이너 인터페이스
- displace
- 터치디자이너 timeline
- touchdesigner displace
- 파이썬 if
- 터치디자이너 replicator
- particleGPU
- touchdesigner GPU
- 터치디자이너 if
- 터치디자이너 에이블톤
- 터치디자이너 강의
- TouchDesigner
- touchdesinger
- touchdesigner particle
- 터치디자이너 interface
- TDableton
- 파이썬reference
- 터치디자이너 Instancing
Archives
- Today
- Total
caLAB
[자료구조와 알고리즘] 알고리즘 스피드의 표현법 Big O 본문
728x90
상수 시간
O(1)
N이 얼마나 큰 지에 상관없이 끝내는데 동일한 숫자의 스텝이 필요.
인풋 사이즈와 관계없이. 스텝이 정해진 알고리즘.
대표적으로는 배열에서 값을 index으로 읽어올 때 해당 됨.
def print(arr):
print(arr[0])
선형 시간
O(N)
선형 검색과 유사함. 배열이 커질 때 필요한 스텝도 커짐.
def print_all(arr):
for n in arr:
print(n)
빅 오에서 상수는 필요없다.
예를들어서 위의 함수로 예시를 들어보겠다.
만약, 위의 식이 아래과 같이 표기 되면 두 번 작업하기 때문에 O(2N)이 될 것 같지만.
빅 오에서는 상수를 무시하기 때문에 O(N)으로 표기한다.
-> 인풋이 증가하면 스텝도 증가한다는 선형적 사실만 전달하면 되기 때문에.
def print_all(arr):
for n in arr:
print(n)
for n in arr:
print(n)
지수 시간
O(n^2)
Quadratic Time (2차 시간)
Nested Loops(중첩 반복)이 있을 때 발생.
시간 복잡도는 input의 n^2
예를들어, input이 10개라면 100번의 스텝 필요.
-> 루프 안에서 루프를 실행하기 때문.
def print_twice(arr):
for n in arr:
for x in arr:
print(x, n)
로그 시간
O(log n)
이진검색 알고리즘을 설명할 때 사용.
*이진 검색은 정렬되지 않은 배열에는 사용할 수 없음.
정리
https://www.youtube.com/watch?v=BEVnxbxBqi8
728x90
반응형
'개발 공부 > 컴퓨터 과학' 카테고리의 다른 글
[자료구조] 큐(Que), 스택(Stack) 배열로 구현 (0) | 2021.06.29 |
---|---|
[WPF] UI 이벤트 (이벤트 핸들러, 쓰레드) (0) | 2021.06.29 |
[디자인 패턴 C#] 싱글톤(Singleton) (0) | 2021.06.29 |
[자료구조와 알고리즘] 이진 검색 vs 선형 검색 알고리즘 (0) | 2021.06.15 |
[자료구조와 알고리즘] 빠르게 읽을 때 효율적인 Array 자료구조 (0) | 2021.06.10 |
Comments