[Python]再帰 vs ループ
1.再帰 vs ループ
1から10までを出力する事に対して、再帰とループそれぞれを使いどれぐらい時間がかかるか比べてみます。
2.コード
from time import time
#再帰
def raise_up_by_rec(num):
print(num)
if num >= 10:
print("count up!")
return
else:
raise_up_by_rec(num + 1)
#ループ
def raise_up_by_loop(num):
for i in range(1, num + 1):
print(i)
print("count up!")
#再帰時間計測
rec_st_time = time()
raise_up_by_rec(1)
rec_ed_time = time()
rec_time = rec_ed_time - rec_st_time
#ループ時間計測
lop_st_time = time()
raise_up_by_loop(10)
lop_ed_time = time()
lop_time = lop_ed_time - lop_st_time
print(f"再帰:{rec_time}[s]")
print(f"ループ:{lop_time}[s]")
3.実行結果
1
2
3
4
5
6
7
8
9
10
count up!
1
2
3
4
5
6
7
8
9
10
count up!
再帰:0.0001239776611328125[s]
ループ:5.1021575927734375e-05[s]
ループはコンピュータを喜ばせ、再帰は人を喜ばせるという事なのでしょうか。
この記事が気に入ったらサポートをしてみませんか?