欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

科學知識:時間復(fù)雜度計算方法

 更新時間:2015年05月13日 11:00:59   投稿:junjie  
這篇文章主要介紹了科學知識:時間復(fù)雜度計算方法,本文介紹了問題的定義、時間復(fù)雜度計算步驟、時間復(fù)雜度計算規(guī)則等內(nèi)容,需要的朋友可以參考下

一、定義

(1)如果一個問題的規(guī)模是n,解這一問題的某一算法所需要的時間為T(n),它是n的某一函數(shù) T(n)稱為這一算法的“時間復(fù)雜性”。我們常用大O表示法表示時間復(fù)雜性,稱之為大O記法。
(2)一個問題本身也有它的復(fù)雜性,如果某個算法的復(fù)雜性到達了這個問題復(fù)雜性的下界,那就稱這樣的算法是最佳算法。常見的時間復(fù)雜度高低順序如下:
O(1) 常數(shù)階 < O(logn) 對數(shù)階 < O(n) 線性階 < O(nlogn) < O(n^2) 平方階 < O(n^3) < O(2^n) < O(n!) < O(n^n)

二、時間復(fù)雜度計算步驟

⑴ 找出算法中的基本語句;
算法中執(zhí)行次數(shù)最多的那條語句就是基本語句,通常是最內(nèi)層循環(huán)的循環(huán)體。
⑵ 計算基本語句的執(zhí)行次數(shù)的數(shù)量級;
只需計算基本語句執(zhí)行次數(shù)的數(shù)量級,這就意味著只要保證基本語句執(zhí)行次數(shù)的函數(shù)中的最高次冪正確即可,可以忽略所有低次冪和最高次冪的系數(shù)。這樣能夠簡化算法分析,并且使注意力集中在最重要的一點上:增長率。
⑶ 用大Ο記號表示算法的時間性能。
將基本語句執(zhí)行次數(shù)的數(shù)量級放入大Ο記號中。
如果算法中包含嵌套的循環(huán),則基本語句通常是最內(nèi)層的循環(huán)體,如果算法中包含并列的循環(huán),則將并列循環(huán)的時間復(fù)雜度相加。

三、時間復(fù)雜度計算規(guī)則

(1)對于一些簡單的輸入輸出語句或賦值語句,近似認為需要O(1)時間
(2)對于順序結(jié)構(gòu),需要依次執(zhí)行一系列語句所用的時間可采用大O下"求和法則"
求和法則:是指若算法的2個部分時間復(fù)雜度分別為 T1(n)=O(f(n))和 T2(n)=O(g(n)),則 T1(n)+T2(n)=O(max(f(n), g(n)))
特別地,若T1(m)=O(f(m)), T2(n)=O(g(n)),則 T1(m)+T2(n)=O(f(m) + g(n))
(3)對于選擇結(jié)構(gòu),如if語句,它的主要時間耗費是在執(zhí)行then字句或else字句所用的時間,需注意的是檢驗條件也需要O(1)時間
(4)對于循環(huán)結(jié)構(gòu),循環(huán)語句的運行時間主要體現(xiàn)在多次迭代中執(zhí)行循環(huán)體以及檢驗循環(huán)條件的時間耗費,一般可用大O下"乘法法則"
乘法法則: 是指若算法的2個部分時間復(fù)雜度分別為 T1(n)=O(f(n))和 T2(n)=O(g(n)),則 T1*T2=O(f(n)*g(n))
(5)對于復(fù)雜的算法,可以將它分成幾個容易估算的部分,然后利用求和法則和乘法法則技術(shù)整個算法的時間復(fù)雜度

相關(guān)文章

  • xmind2022下載非試用超詳細圖文教程

    xmind2022下載非試用超詳細圖文教程

    這篇文章主要介紹了xmind2022下載非試用(超詳細 圖文預(yù)警),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • Git配置用戶簽名方式的拓展示例實現(xiàn)全面講解

    Git配置用戶簽名方式的拓展示例實現(xiàn)全面講解

    這篇文章主要為大家介紹了Git配置用戶簽名方式的拓展示例實現(xiàn)全面講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • Deepin20安裝開發(fā)環(huán)境的超詳細教程

    Deepin20安裝開發(fā)環(huán)境的超詳細教程

    這篇文章主要介紹了Deepin20安裝開發(fā)環(huán)境的步驟詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Windows10使用Anaconda安裝Tensorflow-gpu的教程詳解

    Windows10使用Anaconda安裝Tensorflow-gpu的教程詳解

    Anaconda是一個方便的python包管理和環(huán)境管理軟件,一般用來配置不同的項目環(huán)境。這篇文章主要介紹了Windows10使用Anaconda安裝Tensorflow-gpu的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • ISO-8859-1 、Latin-1 西歐編碼介紹及應(yīng)用

    ISO-8859-1 、Latin-1 西歐編碼介紹及應(yīng)用

    這篇文章主要介紹了ISO-8859-1 、Latin-1 西歐編碼介紹及應(yīng)用,需要的朋友可以參考下
    2016-06-06
  • Webstorm解除版本控制的場景分析

    Webstorm解除版本控制的場景分析

    這篇文章主要介紹了Webstorm解除版本控制的場景分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Idea?2022激活碼最新匯總(親測有效)

    Idea?2022激活碼最新匯總(親測有效)

    JetBrains旗下有多款編譯器工具(如:IntelliJ、WebStorm、PyCharm等)在各編程領(lǐng)域幾乎都占據(jù)了壟斷地位。今天給大家分享大批IDEA?激活碼到期之后的亂象,大家可以參考下
    2020-07-07
  • HTTP請求返回415錯誤碼定位解決方法

    HTTP請求返回415錯誤碼定位解決方法

    這篇文章主要介紹了HTTP請求返回415錯誤碼定位解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • 會員下線加積分,實現(xiàn)原理分享(有時間限制)

    會員下線加積分,實現(xiàn)原理分享(有時間限制)

    當某個用戶發(fā)出一個邀請后,另一個用戶通過這個鏈接進行網(wǎng)站后,為發(fā)這個鏈接的用戶加10個積分。
    2011-09-09
  • ant?design?vue?圖片預(yù)覽組件自定義樣式

    ant?design?vue?圖片預(yù)覽組件自定義樣式

    這篇文章主要為大家介紹了ant?design?vue?圖片預(yù)覽組件自定義樣式方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03

最新評論