成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

處理python遞歸函數(shù)及遞歸算法頻次受限制難題

89542767 / 507人閱讀

  本文關(guān)鍵闡述了處理python遞歸函數(shù)及遞歸算法頻次受限制難題,具有非常好的實(shí)用價(jià)值,希望能幫助到大家。如有誤或者未考慮到真正的地區(qū),望鼎力相助


  遞歸函數(shù)及遞歸算法頻次受限制


  一個(gè)函數(shù)在外部啟用自身,那么這樣的函數(shù)是遞歸函數(shù)。遞歸算法要反復(fù)應(yīng)用自身,每遞歸算法一回,越近最后的值。如果一個(gè)難題需要由很多類似小問(wèn)題處理,可以選擇應(yīng)用遞歸函數(shù)。伴隨著遞歸算法的深層次,難題經(jīng)營(yíng)規(guī)模對(duì)比之前都應(yīng)該所減少。return函數(shù)自身的方法保證了遞歸算法的不斷開(kāi)展,但如果沒(méi)有很明確的完畢標(biāo)準(zhǔn),遞歸算法會(huì)無(wú)盡繼續(xù)下去。因此當(dāng)已經(jīng)是問(wèn)題改進(jìn)的水平,應(yīng)當(dāng)告知函數(shù)公式完畢遞歸算法,這個(gè)時(shí)候就需要很明確的完畢標(biāo)準(zhǔn)。


  比較常見(jiàn)的2個(gè)遞歸算法事例:求合、求階乘n!


  求合:sum=n+n(n-1)+…+1


  defsum(n):
  ifn>0:
  returnn+sum(n-1)
  else:
  return0
  new_sum=sum(10)
  print(new_sum)
  #output
  55


  求階乘:n!=1x2x3…xn


  deffactorial(n):
  ifn==1:
  return1
  else:
  returnn*factorial(n-1)
  new_sum=factorial(5)
  print(new_sum)
  #output
  120


  應(yīng)用遞歸函數(shù)需要注意遞歸算法頻次默認(rèn)限制為1000,如果遞歸算法頻次較多會(huì)導(dǎo)致棧溢出難題


  比如


  defsum(n):
  ifn>0:
  return1+sum(n-1)
  else:
  return0
  new_sum=sum(1000)
  print(new_sum)
  會(huì)報(bào)RecursionError:maximumrecursiondepthexceededincomparison的不正確


  解決問(wèn)題的方法是改動(dòng)可遞歸算法次數(shù)


  importsys
  sys.setrecursionlimit(1500)#可遞歸算法頻次修改為1500
  defsum(n):
  ifn>0:
  return1+sum(n-1)
  else:
  return0
  new_sum=sum(1000)
  print(new_sum)
  #output
  1000


  改動(dòng)遞歸算法頻次時(shí)需要注意,改動(dòng)可遞歸算法頻次為1500,遞歸算法深度到不了1500,在1400左右。默認(rèn)可遞歸算法頻次為1000,遞歸算法深度也到不了1000,到992左右


  如何控制遞歸算法次數(shù)


  經(jīng)常會(huì)用到遞歸算法,雖然能解決很多問(wèn)題,但其缺點(diǎn)很明顯,有可能無(wú)法跳出造成死循環(huán),能控制遞歸算法頻次就可以避免這種情況。


  用lua嘗試了幾種方法,


  第一種


  在方式內(nèi)定義一個(gè)變量計(jì)數(shù):


  functionrecursionTest()
  localtimes=0
  iftimes<10then
  times=times+1
  recursionTest()
  end
  iftimes==0then
  print("outerround")
  end
  end


  實(shí)行下來(lái),是無(wú)法限制的,因?yàn)榫植孔兞棵看味紩?huì)重置為0。


  第二種


  localrecurTimes=0
  functionrecursionTest2()
  ifrecurTimes<10then
  recurTimes=recurTimes+1
  recursionTest2()
  end
  end

  此方法能控制頻次,可是自變量必須界定在方式身體之外,執(zhí)行函數(shù)前都要先將這一自變量設(shè)成0,必須在遞歸方法業(yè)務(wù)外包一層層,較為繁雜。


  第三類


  functionrecursion(str,t)
  str=stror"firsttime"
  t=tor0
  t=t+1
  print(str,t)
  ift<10then
  recursion("times:",t)
  end
  ift==1then
  print("outerround")
  end
  end


  在遞歸算法時(shí)傳到1個(gè)自動(dòng)編號(hào)自變量,做到閥值時(shí)終止遞歸算法,實(shí)行外層時(shí)不用傳參,初始值為0,且可以根據(jù)t的值分辨現(xiàn)階段的遞歸算法疊加層數(shù),還可以在遞歸算法結(jié)束后,在外層執(zhí)行完之前做過(guò)別的事,一箭雙雕。


  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/128850.html

相關(guān)文章

  • 用 PHP 的方式實(shí)現(xiàn)的各類算法合集

    摘要:數(shù)據(jù)項(xiàng)是數(shù)據(jù)的不可分割的最小單位。數(shù)據(jù)項(xiàng)是對(duì)客觀事物某一方面特性的數(shù)據(jù)描述。數(shù)據(jù)對(duì)象是性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的一個(gè)子集。數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)元素之間的相互關(guān)系稱為邏輯結(jié)構(gòu)。 項(xiàng)目地址 https://github.com/m9rco/algo... 每周最少一更,求出題,求虐待 At least once a week, ask for problems and abuse 簡(jiǎn)...

    Karrdy 評(píng)論0 收藏0
  • 用 PHP 的方式實(shí)現(xiàn)的各類算法合集

    摘要:數(shù)據(jù)項(xiàng)是數(shù)據(jù)的不可分割的最小單位。數(shù)據(jù)項(xiàng)是對(duì)客觀事物某一方面特性的數(shù)據(jù)描述。數(shù)據(jù)對(duì)象是性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的一個(gè)子集。數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)元素之間的相互關(guān)系稱為邏輯結(jié)構(gòu)。 項(xiàng)目地址 https://github.com/m9rco/algo... 每周最少一更,求出題,求虐待 At least once a week, ask for problems and abuse 簡(jiǎn)...

    pakolagij 評(píng)論0 收藏0
  • 用 PHP 的方式實(shí)現(xiàn)的各類算法合集

    摘要:數(shù)據(jù)項(xiàng)是數(shù)據(jù)的不可分割的最小單位。數(shù)據(jù)項(xiàng)是對(duì)客觀事物某一方面特性的數(shù)據(jù)描述。數(shù)據(jù)對(duì)象是性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的一個(gè)子集。數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)元素之間的相互關(guān)系稱為邏輯結(jié)構(gòu)。 項(xiàng)目地址 https://github.com/m9rco/algo... 每周最少一更,求出題,求虐待 At least once a week, ask for problems and abuse 簡(jiǎn)...

    leonardofed 評(píng)論0 收藏0
  • 首次超越LSTM : Facebook 門卷積網(wǎng)絡(luò)新模型能否取代遞歸模型?

    摘要:得到的結(jié)果如下上圖是門卷積神經(jīng)網(wǎng)絡(luò)模型與和模型在數(shù)據(jù)集基準(zhǔn)上進(jìn)行測(cè)試的結(jié)果。雖然在這一研究中卷積神經(jīng)網(wǎng)絡(luò)在性能上表現(xiàn)出了對(duì)遞歸神經(jīng)網(wǎng)絡(luò),尤其是的全面超越,但是,現(xiàn)在談取代還為時(shí)尚早。 語(yǔ)言模型對(duì)于語(yǔ)音識(shí)別系統(tǒng)來(lái)說(shuō),是一個(gè)關(guān)鍵的組成部分,在機(jī)器翻譯中也是如此。近年來(lái),神經(jīng)網(wǎng)絡(luò)模型被認(rèn)為在性能上要優(yōu)于經(jīng)典的 n-gram 語(yǔ)言模型。經(jīng)典的語(yǔ)言模型會(huì)面臨數(shù)據(jù)稀疏的難題,使得模型很難表征大型的文本,...

    高勝山 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<