精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

Python 算法分析

python 算法分析

 

算法分析

算法的效率可以在執行之前和執行之后的兩個不同階段進行分析。他們是以下 -

  • 先驗分析 - 這是一種算法的理論分析。 算法的效率是通過假設所有其他因素(例如處理器速度)是恒定的并且對實現沒有影響來衡量的。

  • 后驗分析 - 這是對算法的經驗分析。 所選擇的算法使用編程語言來實現。然后在目標計算機上執行。在此分析中,收集實際的統計數據,如運行時間和所需空間。

 

算法的復雜性

假設 x 是算法, n 是輸入數據的大小,算法x使用的時間和空間是決定x的效率的兩個主要因素。

  • 時間因素 - 時間通過計算關鍵操作的數量來衡量,如排序算法中的比較。

  • 空間因子 - 空間通過計算算法所需的最大存儲空間來測量。

所述算法的復雜性 f(n) 給出的運行時間和/或在以下方面由該算法所需的存儲空間 ? 作為輸入數據的大小。

 

空間復雜性

算法的空間復雜度表示算法在其生命周期中所需的內存空間量。算法所需的空間等于以下兩個組件的總和 -

  • 固定部分,是存儲某些數據和變量所需的空間,與問題的大小無關。例如,使用的簡單變量和常量,程序大小等

  • 變量部分是變量所需的空間,其大小取決于問題的大小。例如,動態內存分配,遞歸堆棧空間等。

任何算法p的空間復雜度s(p)是s(p)= c + sp(i),其中c是固定部分,s(i)是算法的可變部分,取決于實例特征i.是一個簡單的例子,試圖解釋這個概念 -

algorithm: sum(a, b)
step 1 -  start
step 2 -  c ← a + b + 10
step 3 -  stop

這里我們有三個變量a,b和c以及一個常量。因此s(p)= 1 + 3.現在,空間取決于給定變量和常量類型的數據類型,并且它將相應地相乘。

 

時間復雜性

算法的時間復雜度表示算法運行完成所需的時間量。時間要求可以定義為一個數值函數t(n),其中t(n)可以測量為步數,只要每步消耗的時間恒定。

例如,添加兩個n位整數需要 n個 步驟。因此,總計算時間是t(n)= c * n,其中c是加兩位所用的時間。在這里,我們觀察到t(n)隨著輸入尺寸的增加而線性增長。

下一節:python 分而治之

python 數據結構

相關文章