web-dev-qa-db-ja.com

関数のBig-Oの複雑さを自動的に計算するツールはありますか

アルゴリズムとデータ構造を研究している間、スクリプトのBigOの複雑さを手動で評価します。任意のPython IDEまたはパッケージのボタンを使用して、特定の関数またはプログラムのBigOを計算する方法はありますか?

更新:

私が持っているとしましょう

def print_first_element(a):
    print a[0]

インデックスとそのO(1)で配列(リスト)にアクセスしても大丈夫だと言うアナライザーを作成できない理由、または

def print_all_element_of_list(a):
    for i in a:
        print i

フルスキャンがあるので、複雑さはO(n)です。

など

5
Igor Barinov

残念ながら、実行不可能です。 停止性問題 を参照してください。

2
ferhat elmas

一般的には不可能です。これが1つのpythonプログラムの複雑さを計算できるプログラムです: https://github.com/Mortal/complexity

1
ReyCharles