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 |
Tags
- 오리과
- 백로과
- ADsP
- 한국의 새
- IBK기업은행 인턴
- keras
- 딥러닝공부
- django
- 딥러닝 공부
- SimpleCraft
- AI전략게임
- 기러기목
- structured_array
- 비둘기과
- 참새과
- 딱다구리과
- 맑은소리 스피치학원
- Python
- python3
- 가마우지과
- 솔딱새과
- 한국의새
- 흰날개해오라기
- 참새목
- 비둘기목
- AI역량평가
- Birthday paradox
- 생일문제
- 계수정렬
- 직박구리과
Archives
- Today
- Total
진박사의 일상
[이코테] Dynamic Programming - 피보나치 본문
import time
d = [0] * 40
def fibo(x):
if x == 1 or x == 2:
return 1
else:
return fibo(x-1) + fibo(x-2)
def fibo_dynamic1(x): #top-down
if x == 1 or x == 2:
return 1
if d[x] != 0:
return d[x]
d[x] = fibo_dynamic1(x-1) + fibo_dynamic1(x-2)
return d[x]
d = [0] * 40
def fibo_dynamic2(x): #bottom-up
d[0] = 1
d[1] = 1
for i in range(3, x):
d[i] = d[i-1] + d[i-2]
return d[x]
start = time.time()
print(fibo_dynamic1(39), "(time :", time.time()-start,")")
start = time.time()
print(fibo_dynamic2(39), "(time :", time.time()-start,")")
start = time.time()
print(fibo(39),"(time :", time.time()-start,")")
피보나치 함수를 만들어 동적 프로그래밍의 속도를 체험해보고자 했음
63245986 (time : 0.0 )
63245986 (time : 0.0 )
63245986 (time : 16.77222752571106 )
무쟈게 차이난다...
이건 모르면 그냥 무조건 타임아웃 뜨겠군
'프로그래밍' 카테고리의 다른 글
[Python] 함수에 call by reference로 객체 넘기기 (0) | 2021.09.18 |
---|---|
[Python] id() 함수와 ctypes (0) | 2021.09.18 |
[Python] 계수 정렬과 기본 정렬 비교 (0) | 2021.09.09 |
[Python] ''.join() 얼마나 빠를까? (0) | 2021.09.04 |
[작품소개] SimpleCraft - Java (0) | 2021.06.30 |