時間の複雑さ

5325 ワード

時間複雑度バー
入力値と問題解決に要する時間の関係で、入力値が2倍になると、問題解決に要する時間が数倍になります.
最低価格の1を求めます
input = [3, 5, 6, 1, 2, 4]


def find_max_num(array):
    for num in array:
        for compare_num in array:
            if num < compare_num:
                break
        else:
            return num


result = find_max_num(input)
print(result)
for num in array:              # array 의 길이만큼 아래 연산이 실행
        for compare_num in array:  # array 의 길이만큼 아래 연산이 실행
            if num < compare_num:  # 비교 연산 1번 실행
                break
        else:
            return max_num
N X N = N^2
最低価格の2を求めます
input = [3, 5, 6, 1, 2, 4]


def find_max_num(array):
    max_num = array[0]        
    for num in array:      
        if num > max_num:  
            max_num = num
    return max_num

result = find_max_num(input)
print(result)
max_num = array[0] # 연산 1번 실행

for num in array:      # array 의 길이만큼 아래 연산이 실행
	if num > max_num:  # 비교 연산 1번 실행
	max_num = num  # 대입 연산 1번 실행
1 + 2 X N = 2N + 1
時間の複雑さの比較

最終的にNの値が時間複雑度を決定するので定数を気にする必要はない.