真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java+代碼復(fù)雜度統(tǒng)計(jì) java代碼圈復(fù)雜度怎么降

JAVA代碼的時(shí)間復(fù)雜度如何計(jì)算,請高手給出詳細(xì)解答,萬分感謝

我覺得主要考慮和規(guī)模大小有關(guān)系的代碼段,比如循環(huán)部分的時(shí)間復(fù)雜度,對于o(1)代碼可以忽略掉

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比袁州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式袁州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋袁州地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。

java在線等時(shí)間復(fù)雜度,空間復(fù)雜度,求大神

1、時(shí)間復(fù)雜度,一般看循環(huán)的次數(shù)。reverseArray只有一個(gè)for循環(huán),次數(shù)為n/2,即時(shí)間復(fù)雜度為n/2。n為數(shù)組的大小。reverseArray2有兩個(gè)for循環(huán),循環(huán)次數(shù)為n+n=2n。時(shí)間復(fù)雜度為2n。

2、空間復(fù)雜度,是看程序占用的內(nèi)存大小。reverseArray只是而外的只有一個(gè)變量temp,故空間復(fù)雜度為1。reverseArray2需要另外new一個(gè)數(shù)組出來,所以空間復(fù)雜度為n。n為數(shù)組大小。

java 計(jì)算時(shí)間復(fù)雜度

for(int?p=0;pn*n;p++)

for(int?q=0;qp;q++)

sum--;

下面我來簡單解釋一下為什么是O(n^4)

p的所有取值,以及相對性的sum運(yùn)算的次數(shù)如下

p的取值:0??1??2??3??4??...??(n^2?-1)

sum次數(shù):0??0??1??2??3??...??(n^2?-2)

從上面的式子我們知道sum--執(zhí)行的次數(shù)也就是sum次數(shù)的累加和:

0+0+1+2+3+...+(n^-2)=1+2+3+?...?+(n^2?-2)這里我們可以用求和公式,但是需要搞定一個(gè)這里有多少項(xiàng),很明顯(n^2?-2)項(xiàng),帶入求和公式如下

=(1+(n^2?-2))*(n^2?-2)/2=(n^2?-1)(n^2?-2)/2=(n^4?-3*n^2?+2)/2

所以答案是O(n^4)

JAVA中算法的時(shí)間復(fù)雜程度是什么

JAVA中算法的時(shí)間復(fù)雜程度 簡而言之就是運(yùn)算時(shí)候的執(zhí)行次數(shù)的統(tǒng)計(jì)

1.時(shí)間頻度

一個(gè)算法執(zhí)行所耗費(fèi)的時(shí)間,從理論上是不能算出來的,必須上機(jī)運(yùn)行測試才能知道。但我們不可能也沒有必要對每個(gè)算法都上機(jī)測試,只需知道哪個(gè)算法花費(fèi)的時(shí)間多,哪個(gè)算法花費(fèi)的時(shí)間少就可以了。并且一個(gè)算法花費(fèi)的時(shí)間與算法中語句的執(zhí)行次數(shù)成正比例,哪個(gè)算法中語句執(zhí)行次數(shù)多,它花費(fèi)時(shí)間就多。一個(gè)算法中的語句執(zhí)行次數(shù)稱為語句頻度或時(shí)間頻度。記為T(n)。

2.計(jì)算方法

1. 一般情況下,算法的基本操作重復(fù)執(zhí)行的次數(shù)是模塊n的某一個(gè)函數(shù)f(n),因此,算法的時(shí)間復(fù)雜度記做:T(n)=O(f(n)) 分析:隨著模塊n的增大,算法執(zhí)行的時(shí)間的增長率和f(n)的增長率成正比,所以f(n)越小,算法的時(shí)間復(fù)雜度越低,算法的效率越高。 2. 在計(jì)算時(shí)間復(fù)雜度的時(shí)候,先找出算法的基本操作,然后根據(jù)相應(yīng)的各語句確定它的執(zhí)行次數(shù),再找出T(n)的同數(shù)量級(它的同數(shù)量級有以下:1,Log2n ,n ,nLog2n ,n的平方,n的三次方,2的n次方,n?。?,找出后,f(n)=該數(shù)量級,若T(n)/f(n)求極限可得到一常數(shù)c,則時(shí)間復(fù)雜度T(n)=O(f(n))

例:算法:

for(i=1;i=n;++i)  

{

for(j=1;j=n;++j)

{

c[ i ][ j ]=0; //該步驟屬于基本操作 執(zhí)行次數(shù):n的平方 次

for(k=1;k=n;++k)

c[ i ][ j ]+=a[ i ][ k ]*b[ k ][ j ]; //該步驟屬于基本操作 執(zhí)行次數(shù):n的三次方 次

}

} 則有 T(n)= n的平方+n的三次方,根據(jù)上面括號里的同數(shù)量級,我們可以確定 n的三次方 為T(n)的同數(shù)量級

則有f(n)= n的三次方,然后根據(jù)T(n)/f(n)求極限可得到常數(shù)c

則該算法的 時(shí)間復(fù)雜度:T(n)=O(n的三次方)

3.分類

按數(shù)量級遞增排列,常見的時(shí)間復(fù)雜度有: 常數(shù)階O(1),對數(shù)階O(log2n),線性階O(n), 線性對數(shù)階O(nlog2n),平方階O(n2),立方階O(n3),..., k次方階O(nk), 指數(shù)階O(2n) 。隨著問題規(guī)模n的不斷增大,上述時(shí)間復(fù)雜度不斷增大,算法的執(zhí)行效率越低。


名稱欄目:java+代碼復(fù)雜度統(tǒng)計(jì) java代碼圈復(fù)雜度怎么降
瀏覽路徑:http://weahome.cn/article/ddgihpg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部