校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 科學知識:時間復雜度計算方法

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

熱門標簽:南召400電話辦理資費 福建ai電銷機器人加盟公司 鄭州中國移動400電話申請 地圖標注審核工作怎么樣注冊 無錫電銷機器人銷售 招聘信息 揭陽外呼系統公司 去哪里辦卡 地圖標注植物名稱 熱血傳奇沃瑪森林地圖標注

一、定義

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

二、時間復雜度計算步驟

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

三、時間復雜度計算規則

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

您可能感興趣的文章:
  • C++實現的O(n)復雜度內查找第K大數算法示例
  • C++找出字符串中出現最多的字符和次數,時間復雜度小于O(n^2)
  • Java算法之時間復雜度和空間復雜度的概念和計算
  • 淺談Java如何實現一個基于LRU時間復雜度為O(1)的緩存
  • Python算法中的時間復雜度問題
  • php 常用算法和時間復雜度
  • PHP 巧用數組降低程序的時間復雜度
  • PHP 用數組降低程序的時間復雜度
  • 淺談c++性能測試工具之計算時間復雜度

標簽:鹽城 桂林 黔南 景德鎮 文山 東莞 南昌 宣城

巨人網絡通訊聲明:本文標題《科學知識:時間復雜度計算方法》,本文關鍵詞  科學,知識,時間,復雜度,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《科學知識:時間復雜度計算方法》相關的同類信息!
  • 本頁收集關于科學知識:時間復雜度計算方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 彭水| 奉贤区| 赞皇县| 获嘉县| 汉中市| 台南市| 沙田区| 绥化市| 山阴县| 丽水市| 武夷山市| 大田县| 临夏市| 鹤庆县| 平顺县| 朝阳市| 镇雄县| 龙口市| 威信县| 新营市| 屯门区| 鄂温| 巴里| 永济市| 即墨市| 襄樊市| 龙海市| 光泽县| 西贡区| 白水县| 江川县| 德惠市| 开远市| 霍邱县| 安西县| 北宁市| 自治县| 乃东县| 瓦房店市| 政和县| 衡水市|