對於不同情況下,代碼的時間複雜度不一樣,引入三個概念
最好情況時間複雜度:在最理想的情況下,執行這段代碼的時間複雜度
最壞情況時間複雜度:在最糟糕的情況下,執行這段代碼的時間複雜
平均情況時間複雜度:
例子:在數組中查找元素
1.有(n+1)中情況,每種情況下要遍歷的元素個數累加起來,得到:(1+2+3+....+n+n)/ n+1 (沒有考慮概率問題)
2.用到概率論,元素在數組中和不在數組中的概率是1/2,元素在0到n-1位置的概率是1/n,時間複雜度 1*(1/2n)+2*(1/2n)+...+n(1/2n)+n(1/2n) = (3n+1)/4
均攤時間複雜度:
均攤時間複雜度就是一種特殊的平均時間複雜度
時間複雜度
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
數據結構與算法--------Java實現(第四章 排序算法 上)
qisoft1213
2020-07-07 13:21:29
迷宮求解問題——堆棧的使用
日晞Pisces
2020-07-07 06:11:52
部分leetcode題目
longlovefilm
2020-07-07 00:10:14
找出亂序數組中最小(最大)的k個數字
想名真难
2020-07-06 21:50:05
【c++算法】《判斷一個數是否爲2的n次方》
麻垌小库
2020-07-06 19:20:07
棧實現綜合計算器、逆波蘭計算器
阿演
2020-07-06 08:49:55
java 八皇后問題以及N皇后問題
山大王wld
2020-07-06 07:31:15
散列表描述
Q389281541
2020-07-06 07:05:03
Java實現特殊二叉樹之線索二叉樹
-江南听雨-
2020-07-06 03:44:44
Java實現特殊二叉樹之堆、哈夫曼樹
什麼是堆:堆是一種經過排序的完全二叉樹,其中任一非終端節點的數據值均不大於(或不小於)其左孩子和右孩子節點的值; 首先,堆分爲大根堆(最大堆)和小根堆(最小堆)二種; 小根堆滿足:
-江南听雨-
2020-07-06 03:44:33
【學點數據結構和算法】06-二叉堆和優先隊列
Alice菌
2020-07-06 03:33:22
劍指offer_刷題
享受旅行中的VIP快乐
2020-07-06 02:26:55
非遞歸遍歷二叉樹實現
钱叁壹
2020-07-05 22:42:45