1
1

計算量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])

O(log(n))
image.png

O(n)
image.png

O(n * log(n))
image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1