2017-10-19 8 views
1

私は全体のBig "O"を取得しますが、私はちょっと混乱して "T(n)を見つけて計算する"T(n)を計算しますか?アルゴリズムの効率(Python)

代わりに、ちょうど私に答え、あなたがそれを得た方法

def sequentialSearch(alist, item): 
    pos = 0 
    found = False 

    while pos < len(alist) and not found: 
        if alist[pos] == item: 
            found = True 
        else: 
            pos = pos+1 
    return found 
+4

1.最悪の場合(すなわち、ほとんどの操作を必要とするもの)を考えてください。 2.ワーストケースを処理するために必要な操作数を数えます。 – NPE

+0

これは参考になるかもしれません:https://www.quora.com/What-does-T-n-mean-in-relation-to-O-n –

答えて

0

時間の複雑さは、アルゴリズムの実行時間は、入力の大きさ/サイズ(S)に依存しているかの最悪のケースの推定値である私に教えてくださいを与える 。一般的には、アルゴリズム内で繰り返し論理(ほとんどは再帰またはループ)を探します。次に、反復回数が依存する入力を探します。この場合、入力された 'alist'のサイズです。入力のサイズ/大きさと最悪の場合の繰り返しアクションの数との間の依存関係を見出すことを試みる。ここで、最悪のシナリオは 'item'が 'alist'の最後の要素である場合です。この場合、whileループはlen(alist)回実行されます。したがって、時間の複雑さはO(len(alist))またはO(n)です(nはアルゴリズムの実行時間を制御する入力の大きさ/サイズです)。

関連する問題