我們可以使用循環(huán)語句來替代上一篇文章中的遞歸:
>>>L = [1,2,3,4,5]
>>>sum = 0
>>>while L:
... sum += L[0]
... L = L[1:]
...
>>>sum
15
使用for循環(huán)更是可以為我們自動迭代:
>>>L = [1,2,3,4,5]
>>>sum = 0
>>>for x in L: sum += x
...
>>>sum
15
如果用循環(huán)語句取代遞歸,我們就不需要在調(diào)用堆棧上針對每次迭代都有一個本地作用域的副本,并且,我們還避免了一般會與函數(shù)調(diào)用相關(guān)的速度成本。所以循環(huán)語句更加節(jié)約空間也更加快。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關(guān)推薦
算法設(shè)計
學習電子
發(fā)布于 :2022年12月21日 10:37:44
算法設(shè)計
學習電子
發(fā)布于 :2022年12月21日 10:38:15
)遞歸遞歸函數(shù)中,位于遞歸調(diào)用前的語句和各級被調(diào)函數(shù)具有相同執(zhí)行順序遞歸函數(shù)中,位于遞歸調(diào)用后的語句和各級被調(diào)函數(shù)具有相反執(zhí)行順序每級
發(fā)表于 02-05 20:06
人工智能與傳統(tǒng)編程并沒有太多差異,唯一的差異是需要大量數(shù)據(jù)和算力來進行模型擬合!AI=大數(shù)據(jù)(算料數(shù)據(jù))+算法(深度學習、基于規(guī)則、基于知識、基于統(tǒng)計等等大多是遞歸循環(huán)結(jié)構(gòu))+算力(算力非常高
發(fā)表于 11-07 05:26
在前面的文章中,我們說到了可以使用循環(huán)語句來替代遞歸。但是,有時候必須使用遞歸,或者說使用遞歸才是更方便的解決方案。
考慮像下面這樣的一個任務:計算一個嵌套的子列表結(jié)構(gòu)中所有數(shù)字
發(fā)表于 02-21 14:25
?542次閱讀
Python支持遞歸函數(shù)——即直接或間接地調(diào)用自身以進行循環(huán)的函數(shù)。遞歸是頗為高級的話題,并且它在Python中相對少見。然而,它是一項應該了解的有用的技術(shù),因為它允許程序遍歷擁有任意的、不可預知的形狀的結(jié)構(gòu)。
發(fā)表于 02-21 14:28
?602次閱讀
要說到遞歸如果不說棧的話,我覺得有點不合適,遞歸特點就是不斷的調(diào)用同一個函數(shù),如果這個函數(shù)沒有一個遞歸界限,那么就是死循環(huán)了,所以討論遞歸,
發(fā)表于 06-06 15:24
?933次閱讀
PLC系統(tǒng)中的內(nèi)存溢出問題可能導致程序崩潰或系統(tǒng)不穩(wěn)定。為了減少內(nèi)存溢出問題,合理使用內(nèi)存資源,避免無限遞歸、循環(huán)或過度使用變量和數(shù)據(jù)結(jié)構(gòu)。
發(fā)表于 11-15 09:59
?476次閱讀
循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,簡稱RNN)和遞歸神經(jīng)網(wǎng)絡(Recursive Neural Network,簡稱RvNN)是深度學習中兩種重要的神經(jīng)網(wǎng)絡結(jié)構(gòu)。它們在
發(fā)表于 07-04 14:19
?648次閱讀
遞歸神經(jīng)網(wǎng)絡(Recurrent Neural Network,簡稱RNN)和循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,簡稱RNN)實際上是同一個概念,只是不同的翻譯方式
發(fā)表于 07-04 14:54
?549次閱讀
遞歸神經(jīng)網(wǎng)絡(Recursive Neural Network,RvNN)和循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)是兩種不同類型的神經(jīng)網(wǎng)絡結(jié)構(gòu),它們在處理序列數(shù)據(jù)
發(fā)表于 07-05 09:28
?522次閱讀
RNN(Recurrent Neural Network)是循環(huán)神經(jīng)網(wǎng)絡,而非遞歸神經(jīng)網(wǎng)絡。循環(huán)神經(jīng)網(wǎng)絡是一種具有時間序列特性的神經(jīng)網(wǎng)絡,能夠處理序列數(shù)據(jù),具有記憶功能。以下是關(guān)于循環(huán)
發(fā)表于 07-05 09:52
?433次閱讀
遞歸神經(jīng)網(wǎng)絡(Recursive Neural Network,簡稱RNN)是一種特殊類型的神經(jīng)網(wǎng)絡,其特點在于能夠處理具有層次或樹狀結(jié)構(gòu)的數(shù)據(jù),并通過遞歸的方式對這些數(shù)據(jù)進行建模。與循環(huán)神經(jīng)網(wǎng)絡
發(fā)表于 07-10 17:02
?235次閱讀
遞歸神經(jīng)網(wǎng)絡是一種旨在處理分層結(jié)構(gòu)的神經(jīng)網(wǎng)絡,使其特別適合涉及樹狀或嵌套數(shù)據(jù)的任務。這些網(wǎng)絡明確地模擬了層次結(jié)構(gòu)中的關(guān)系和依賴關(guān)系,例如語言中的句法結(jié)構(gòu)或圖像中的層次表示。它使用遞歸操作來分層處理信息,有效地捕獲上下文信息。
發(fā)表于 07-10 17:21
?442次閱讀
當我們碰到諸如需要求階乘或斐波那契數(shù)列的問題時,使用普通的循環(huán)往往比較麻煩,但如果我們使用遞歸時,會簡單許多,起到事半功倍的效果。這篇文章主要和大家分享一些和遞歸有關(guān)的經(jīng)典案例,結(jié)合一些資料談一下個人的理解,也借此加深自己對
發(fā)表于 08-05 15:57
?250次閱讀
評論