1樓:大一
給我十分,我告訴你答案。
2樓:瀟笙霏
請問樓主答案,我也不會。
如何計算時間複雜度?
3樓:
一般情況下,演算法的基本操作重複執行的次數是模組n的某乙個函式f(n)。
因此,演算法的時間複雜度記做:t(n)=o(f(n))。
隨著模組n的增大,演算法執行的時間的增長率和f(n)的增長率成正比,所以f(n)越小,演算法的時間複雜度越低,演算法的效率越高。
在計算時間複雜度的時候,先找出演算法的基本操作,然後根據相應的各語句確定它的執行次數,再找出t(n)的同數量級(它的同數量級有以下:1,log2n ,n ,nlog2n ,n的平方,n的三次方,2的n次方,n!),找出後,f(n)=該數量級,若t(n)/f(n)求極限可得到一常數c,則時間複雜度t(n)=o(f(n))。
時間複雜度的概念:
時間複雜度是總運算次數表示式中受n的變化影響最大的那一項(不含係數)比如:一般總運算次數表示式類似於這樣:
a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+fa ! 0時,時間複雜度就是o(2^n);
a=0,b<>0 =>o(n^3);
a,b=0,c<>0 =>o(n^2)依此類推。
程式中的時間複雜度是怎麼計算的?
4樓:匿名使用者
演算法複雜度的介紹,見百科:
演算法的時間複雜度如何計算?
5樓:
關於時間複雜度的計算是按照運算次數來進行的,比如1題:
sum1( int n )
//n次。return (sum) ;1次。
} 最後總的次數為。
1+(n+1)+n+n+1+1=3n+3
所以時間複雜度f(o)=n;(時間複雜度只管n的最高次方,不管他的係數和表示式中的常量)
其餘的一樣,不明白的可以來問我。
6樓:匿名使用者
求解演算法的時間複雜度的具體步驟是:
⑴ 找出演算法中的基本語句;
7樓:愛上鳥兒
乙個演算法花費的時間與演算法中語句的執行次數成正比例,時間複雜度一般用o(f(x))表示。
f(x)在簡單程式中就是看有幾個for迴圈,然後看看再它的判斷語句,就是看看它執行了幾次,f(x)=「執行的次數」。
像題中的(1)有乙個for迴圈執行次數為n次,所以f(x)=n,時間複雜度就為o(n)
(2)有兩個for迴圈執行次數為n*n,即n的平方,所以f(x)=n的平方,時間複雜度就是o(n的平方)。
(3)是遞迴,它也執行了n次所以它的時間複雜度就是o(n).
不過要注意時間複雜度的f(x)在有限次時就用具體數值表示,無限次時就用n,n的平方,log以2為底n的對數,其實很簡單就是看n的最高次方,看n的最高次方等於幾,f(x)就等於幾。
8樓:匿名使用者
就是程式執行次數和輸入n的函式關係。
平方)
如何計算時間複雜度
9樓:安徽新華電腦專修學院
乙個演算法是解決某個問題。
的,比如n條資料排序問題,那麼對於這個問題「n」就是它的問題規模那麼解決這個問題的演算法的代價一定是n的函式,記為t(n)為了比較不同演算法之間的優劣,必須有一種方法將計算代價的函式進行變換,所以提出一種。
概念叫做「複雜度」(好像是這麼個意思,教材上的那個陰文單詞背不出了)
資料結構 有關時間複雜度題目 求高手!求詳細解釋
10樓:pluto哈嘻
c首先,觀察最內層賦值語句,發現可簡單視為時間複雜度為o(1)的函式f(i,j)
第二層迴圈次數為n-i+1
第一層迴圈次數為n
巢狀迴圈兩者次數為乘法,故上界為o(n^2)
11樓:匿名使用者
答案是c
去這裡看看,有你想要的答案:
這知識很久不用,沒有概念了。
請問演算法的時間複雜度是怎麼計算出來的?
12樓:
首先假設任意copy
乙個簡單運算的時間都是1,例如a=1;a++;a=a*b;這些運算的時間都是1.
那麼例如。for(int i=0;i注意,這裡計算一次的時間是1.
}那麼上面的這個例子的時間複雜度就是 m*n再例如氣泡排序的時間複雜度是n*n;快排的時間複雜度是log(n)。
詳細的情況,建議你看《演算法導論》,裡面有一章節,具體講這個的。
時間複雜度的幾種計算方法
13樓:我不是他舅
時間複雜度是就程式中的不定迴圈而言的。即隨著某個變數的改變,迴圈體被執行次數的函式。
如單重迴圈的複雜度為一次,二重迴圈的時間複雜度為平方。
如何計算乙個演算法的時間複雜度
14樓:線雍厙夏蓉
這裡主要是計算count++;執行的次數。
i=1的時候:
j=1k=1
執行1次;i=2的時候。
j=1k=1
j=2k=1,2
執行3次;i=3的時候。
j=1k=1
j=2k=1,2
j=3k=1,2,3
執行6次;依次類推。
i=n的時候,執行n*(n+1)/2
總共執行1+3+6+n*(n+1)/2=n(n+1)(n+2)/6次。
n(n+1)(n+2)/6的最高次項是3,所以它的時間複雜度是o(n^3).
演算法的空間複雜度,時間複雜度,有窮性分別是什麼意思
通俗來說 空間複雜度是指運算過程中佔用的記憶體和輸入的漸進關係。時間複雜度是指運算過程中使用的時間和輸入的漸進關係。有窮性是指在有限時間內可以結束運算。演算法的時間複雜度與空間複雜度各是什麼意思 是說明乙個程式根據其資料n的規模大小 所使用的大致時間和空間說白了 就是表示 如果隨著n的增長 時間或空...
幾種排序的時間複雜度,各種排序法的時間複雜度到底多少
氣泡排序是這樣實現的 首先將所有待排序的數字放入工作列表中。從列表的第乙個數字到倒數第二個數字,逐個檢查 若某一位上的數字大於他的下一位,則將它與它的下一位交換。重複2號步驟,直至再也不能交換。氣泡排序的平均時間複雜度與插入排序相同,也是平方級的,但也是非常容易實現的演算法。選擇排序 選擇排序是這樣...
下面程式段的時間複雜度為n》
o n 2 因為子層k迴圈次數為n,時間複雜度為n 父層j迴圈次數為n,故時間複雜度為n 總體時間複雜度為an n b n c o n n o n 2 o n log n 外迴圈由於j是以copy2倍為速度指數級增長的,所以在o log n 的時間結束 沒有內迴圈時 而每次外迴圈執行一次,都完整的執...