計算量O記法
以下にアルゴリズムの計算量をコードを記述しました。
勉強の記録として残します。
プログラム記述
# O(log(n))
def func2(n):
if n <= 1:
return
else:
print(n)
func2(n/2)
# O(n)
def func3(numbers):
for num in range(numbers):
print(num)
# O(n * log(n))
def func4(n):
for i in range(int(n)):
print(i, end=' ')
print()
if n <= 1:
return
func4(n/2)
# O(n**2)
def func5(numbers):
for i in range(len(numbers)):
for j in range(len(numbers)):
print(numbers[i], numbers[j])
print()
実行結果
下記は、計算結果を実行したものになります。
最後のO(n**2)は表示するデータが多いため除外しています。
実行結果が気になる方は、以下のデータを引数で渡して実行してください。
func5([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])