最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

科學知識:時間復雜度計算方法

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

一、定義

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

二、時間復雜度計算步驟

⑴ 找出算法中的基本語句;
算法中執(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)的時間復雜度相加。

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

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

相關文章

  • ChatGpt無法訪問或錯誤碼1020的幾種解決方案

    ChatGpt無法訪問或錯誤碼1020的幾種解決方案

    ChatGPT是一種語言模型,它被訓練來對對話進行建模,下面這篇文章主要給大家介紹了關于ChatGpt無法訪問或錯誤碼1020的幾種解決方案,文中介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • GitHub Eclipse配置使用教程詳解

    GitHub Eclipse配置使用教程詳解

    本文主要介紹GitHub Eclipse,這里對Eclipse 使用GitHub的教程,圖文并茂詳細說明如何操作,有需要的小伙伴可以參考下
    2016-09-09
  • hadoop二次排序的原理和實現(xiàn)方法

    hadoop二次排序的原理和實現(xiàn)方法

    這篇文章主要介紹了hadoop二次排序的原理和實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • 利用二進制文件安裝etcd的教程詳解

    利用二進制文件安裝etcd的教程詳解

    etcd組件作為一個高可用強一致性的服務發(fā)現(xiàn)存儲倉庫.這篇文章主要介紹了利用二進制文件安裝etcd的教程詳解,需要的朋友可以參考下
    2019-08-08
  • 高性能高可用高并發(fā)架構和系統(tǒng)設計思路大綱

    高性能高可用高并發(fā)架構和系統(tǒng)設計思路大綱

    高性能架構和系統(tǒng)設計要求高并發(fā)高性能,高性能更多的是先從編碼角度、架構使用角度去讓我們的單機(單實例)有更好的性能,然后再從整個系統(tǒng)層面來擁有更好的性能;高并發(fā)則直接是全局角度來讓我們的系統(tǒng)在全鏈路下都能夠抗住更多的并發(fā)請求
    2023-08-08
  • 字符編碼詳解(基礎)

    字符編碼詳解(基礎)

    字符編碼問題, 對于一個在偉大天朝的程序員來說, 幾乎不可能遇不到, 從我剛開始接觸Coding到現(xiàn)在, 亂碼, 編碼轉換問題就好像一直沒有停息過.

    2009-09-09
  • 聯(lián)邦學習論文解讀分散數(shù)據(jù)的深層網(wǎng)絡通信

    聯(lián)邦學習論文解讀分散數(shù)據(jù)的深層網(wǎng)絡通信

    這篇文章主要為大家介紹了論文解讀分散數(shù)據(jù)的深層網(wǎng)絡通信有效學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • MyBatisCodeHelper-Pro插件破解版詳細教程[2.8.2]

    MyBatisCodeHelper-Pro插件破解版詳細教程[2.8.2]

    MyBatisCodeHelper-Pro是IDEA下的一個插件,功能類似mybatis plugin。這篇文章給大家介紹MyBatisCodeHelper-Pro插件破解版[2.8.2]的相關知識,感興趣的朋友跟隨小編一起看看吧
    2020-09-09
  • 詳解使用IDEA模擬git命令使用的常見場景

    詳解使用IDEA模擬git命令使用的常見場景

    這篇文章主要介紹了詳解使用IDEA模擬git命令使用的常見場景,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Prometheus配置解析小結

    Prometheus配置解析小結

    本文主要介紹了Prometheus配置解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-05-05

最新評論

建瓯市| 仙游县| 宁强县| 安庆市| 滦南县| 昌都县| 东辽县| 青川县| 静海县| 监利县| 灌云县| 玉山县| 普安县| 东城区| 大同县| 阳东县| 吴桥县| 随州市| 汉沽区| 海原县| 桐乡市| 万年县| 邵武市| 长汀县| 林口县| 内丘县| 凯里市| 平原县| 金川县| 金昌市| 象州县| 丘北县| 湛江市| 安陆市| 门源| 资讯 | 义马市| 罗源县| 门源| 禄丰县| 六安市|