[データ構造/アルゴリズム]1.Intro(時間複雑度)
3694 ワード
1.良いアルゴリズムとは?
アルゴリズムとは?
これは
これは
2.複雑度
データ構造の効率は、データ構造に対する演算の実行時間によって測定される.
実行時間を表す時間の複雑さとメモリ領域の大きさを用いる空間の複雑さに基づいて測定する
ほとんどの場合、パフォーマンスは時間的複雑さのみを使用して分析されます.
3.漸近線表記法
実行時間はアルゴリズムが実行する基本演算回数を入力サイズの関数として表す.
F(N)
これらの関数は多項式で表され、漸近記号を使用して入力サイズの関数として表されます.
3-1. 漸近マーキング法の種類
4.Big-O記号
result = 0
for i in range(n):
result += i
print(result)
以上のコードは1からnまでのコードで、n回の演算を実行しますこのコードの時間的複雑度はO(n)である.
result = 0
for i in range(n):
for j in range(n):
result += j
print(result)
result = 0
result2 = 0
for i in range(n):
for j in range(n):
result += j
for i in range(n):
result2 += i
print(result + result2)
以上の2つのコードの時間的複雑度はいずれもO(N^2)である.4-1. 最も一般的なBig-O
O(1):一定時間
入力値の大きさにかかわらず、
O(logn):ログ時間
O(N):線形時間
実行時間は、
O(Nlogn):ログ線形時間
O(N^2):平方時間
Reference
この問題について([データ構造/アルゴリズム]1.Intro(時間複雑度)), 我々は、より多くの情報をここで見つけました https://velog.io/@suhyun-guri/자료구조알고리즘-1.-Introテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol