大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java基礎(chǔ)學(xué)習(xí):java遞歸函數(shù)例子

Java基礎(chǔ)學(xué)習(xí):java遞歸函數(shù)例子

更新時(shí)間:2020-04-27 13:20:35 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3492次

    對(duì)于計(jì)算機(jī)科學(xué)來說,算法至關(guān)重要。通俗地講,算法是指解決問題的一種方法或者一個(gè)過程。嚴(yán)格來講,算法是由若干條指令組成的有序序列,且滿足以下4條性質(zhì):

    1.輸入

    2.輸出

    3.確定性

    4.有限性

    算法復(fù)雜度的高低體現(xiàn)在運(yùn)行該算法時(shí)所需要的計(jì)算機(jī)資源的多少上,所需資源越多,算法的復(fù)雜度越高,也就稱這個(gè)算法較差。因此,算法的復(fù)雜度分為時(shí)間復(fù)雜度和空間復(fù)雜度。

    由于空間復(fù)雜度是具體算法具體分析,因此這里我們簡(jiǎn)單談一談時(shí)間復(fù)雜度。

    普通函數(shù)的時(shí)間復(fù)雜度大致分為4個(gè)步驟:確定循環(huán)條件->確定循環(huán)變量的變化規(guī)律->假設(shè)執(zhí)行了i次->計(jì)算i并帶回原方程。

    遵循了上述四個(gè)步驟就能求解大部分的算法時(shí)間復(fù)雜度了。

    對(duì)于遞歸函數(shù),我們舉一個(gè)簡(jiǎn)單的例子來說明。

Java基礎(chǔ)學(xué)習(xí):java遞歸函數(shù)例子

    這是一個(gè)求解大整數(shù)乘法的遞歸表達(dá)式,對(duì)于它的時(shí)間復(fù)雜度,其計(jì)算過程如下:

    T(n)=4T(n/2)+O(n)

    =4[4T(n/4)+O(n/2)]+O(n)=4^2T(n/4)+3O(n)

    =4^2[4T(n/8)+O(n/4)]+3O(n)=4^3T(n/8)+7O(n)

    ......

    =4^xT(n/2^x)+(2^x-1)O(n)//假設(shè)執(zhí)行了x次

    令n=2^x帶入上面方程T(n)=n^2+(n-1)n

    因此時(shí)間復(fù)雜度為O(n^2)

    再看下面這個(gè)

Java基礎(chǔ)學(xué)習(xí):java遞歸函數(shù)例子

    這是對(duì)大整數(shù)乘法的另一種優(yōu)化算法,具體思想我就不再這里贅述了

    對(duì)于這個(gè)表達(dá)式,我們還是按照上面的方法一步一步的來

    T(n)=3T(n/2)+O(n)

    =3[3T(n/4)+O(n/2)]+O(n)=3^2T(n/4)+(3/2+1)O(n)

    =3^2[3T(n/8)+O(n/4)]+(3/2+1)O(n)=3^3T(n/8)+(3^2/2^2+3/2+1)O(n)

    ……

    =3^xT(n/2^x)+(3^x-1/2^x-1+3^x-2/2^x-2+......+3^2/2^2+3/2+1)O(n)

    易知后面括號(hào)里其實(shí)是首項(xiàng)為1,公比為3/2的等比數(shù)列的前n-1項(xiàng)和

    因此上式

    =3^xT(n/2^x)+[4(3^x-1/2^x)-2]O(n)

    令n=2^x,則x=log2(n),帶入

    =3^log2(n)+{4[(3^log2(n/2))/n]-2}O(n)

    =n^log2(3)+4/3(n^log2(3))-2n

    =5/3n^log2(3)-2n

    u因此時(shí)間復(fù)雜度為O(n^log2(3))=O(n^1.59)

    因?yàn)镺(n^1.59)

    所以后面這種算法是優(yōu)于前面那一種算法的。

    你看,都是解決大整數(shù)乘法的問題,通過不同的算法,我們求解問題所花的時(shí)間也不同,所以,在計(jì)算機(jī)的發(fā)展中,尋找最優(yōu)算法是一直在路上的。

Java基礎(chǔ)學(xué)習(xí):java遞歸函數(shù)例子

 以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java基礎(chǔ)學(xué)習(xí):java遞歸函數(shù)例子”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲乱码视频在线观看 | 亚洲免费在线观看 | 又黑又粗又硬欧美视频在线观看 | 久久精品国产久金国产思思 | 欧美性猛交xx乱大交 | 欧美一级一极性活片免费观看 | 天天插天天操天天干 | 国产性较精品视频免费 | 久久频这里精品99香蕉久 | 久草在线视频免费播放 | 日本免费网址 | 亚洲婷婷在线视频 | 精品国产96亚洲一区二区三区 | 俄罗斯aaaa一级毛片 | 国四虎影永久 | 亚洲精品久久九九精品 | 夜夜爽毛片 | 国产在线欧美日韩一区二区 | 精品久久久日韩精品成人 | 日韩一级大毛片欧美一级 | 99久久精品国产一区二区成人 | 国产精品久久久久久久久久98 | 天天做天天欢天天爽 | 久久综合九色综合97婷婷女人 | 91在线 | 欧美 | 成人欧美一区二区三区 | 黄色一级网 | 久久久这里只有精品加勒比 | 性视频一区二区三区免费 | 久久中文网 | 国产区精品一区二区不卡中文 | 日本不卡免费高清一级视频 | 天天搞夜夜 | 精品一区二区三区 不卡高清 | 久久精品日日躁夜夜躁欧美 | 国产精品成人扳一级aa毛片 | 在线免费观看国产精品 | 爱爱一级视频 | 天堂伊人网 | 色综合a怡红院怡红院首页 色综合h | 一本一道波多野结衣一区二区 |