単純なアルゴリズムの最適化パイソン

  • また、チューリング賞受賞スイスのコンピューター科学者ジャック・ニクラウス。Witts(ニクラウス・ヴィルト)によって提案されたコンピュータ業界の有名な式、
    プログラム=アルゴリズム+データ構造が
    時々問題に直面しているデータ構造とアルゴリズムを見ていないが、任意のアイデアを持っていないかもしれません;私は解決するために開始する方法がわからない
    、ほとんどの時間は、問題を解決する可能性がありますが、プログラムは、パフォーマンスの低下を効率化し、コスト意識を実行していない、
    一時的に問題を解決するために他の人が開発した、時には助けツール、それがパフォーマンスのボトルネックに来たとき、および私が目標と最適化を実行する方法がわかりません* *
  • シミュレーションシナリオ
    、B三の番号C
    1 A + B + C = 1000(0--1000)
    2.A ** 2 = B 2 + C 2 **
    可能な組み合わせを見つけるC、B、 ?
  • 一般

 

インポート時間
s_time = time.time()
 インポート日時
STARTTIME = datetime.datetime.now()
 プリント(STARTTIME)
 のため範囲(1,1001 のための B における範囲(1,1001 :)
         のために C の範囲(1 1001 ):
             もし + B + C == 1000年及び ** 2 + B ** 2 == C ** 2 印刷" =%S、C =%S B =%sは、"( A、B、C))
ENDTIME =datetime.datetime.now()
yonghsiは、終了時刻= - のstartTime
 印刷" 時間が消費されます。%Sを"%yonghsi)

 

    • 時間

  • アルゴリズムの最適化
インポート時間
STARTTIME = time.time()
 プリント(STARTTIME)
 のため範囲(1,1001 のための B における範囲(1,1001 ):
        C = 1000 - - B
         場合 ** 2 + B ** 2 == C ** 2 印刷" =%S、C =%S B =%sは、"(A、B、C))
ENDTIME = time.time()
 プリント(終了時刻)
yongshi = endtime- STARTTIME
 印刷" 总耗时为:%sの" %Yongshi)
  • timeit(Pythonのビルトインテストモジュール)
インポートはtimeit    Pythonは組み込みの性能試験モジュール

DEF FUNC()
     のために A における範囲(1、1001 :)
         のために B における範囲(1、1001 ):
            C = 1000 - A - B
             IF A + B ** 2 ** C ** 2 == 2 印刷" A =%S、S(%)= B、C = S%"(A、B、C))

timer01 = timeit.Timer(" FUNC()"" __main__からFUNCインポート" タイマー(あなたが関数の書き込み性能試験をしたい最初の位置。この機能を導入するから2番目)
を印刷(timer01.timeit(10)/ 10)  ここではtimeit()をテスト1.2070892295#の数を表し、

 
 
2020年1月7日夜十二時08分26秒
 

おすすめ

転載: www.cnblogs.com/u-damowang1/p/12159151.html