国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

關(guān)于程序設(shè)計中遞歸循環(huán)的一些思考

2020-12-03 16:34:12劉國慶史小春
數(shù)碼設(shè)計 2020年13期
關(guān)鍵詞:廟里老和尚嵌套

劉國慶 史小春

摘要:簡單來說遞歸指一個函數(shù)直接或間接調(diào)用自身的一種方法,通常通過它可以把復(fù)雜的大型的問題一層一層轉(zhuǎn)化為一個規(guī)模較小但與原來問題類似的問題來解決。

關(guān)鍵詞:遞歸循環(huán);程序

中圖分類號:TP301.6文獻(xiàn)標(biāo)識碼:A文章編號:1672-9129(2020)13-0193-01

如果把遞歸比喻成 “查字典 “,當(dāng)查一個字或詞時,發(fā)現(xiàn)其中解釋的某個詞不懂,繼續(xù)查這個詞,第二個詞里還是有不懂的詞,接著查詢第三個詞,這樣一直查下去,等到有個詞的解釋你看懂了,那么遞歸到頭,然后你開始后退,逐個弄清前面查過的每個詞,最終,弄明白開始的詞的含義。

從字面意思來看,遞是傳遞,歸是回歸。從傳遞開始回到了傳遞的開始,就是從某個地方出發(fā),回到這個出發(fā)的地方,這就完成一次循環(huán),而不斷重復(fù)同一個循環(huán),叫做遞歸。

有一個大家都熟悉的故事:從前有一座山,山里有個廟,廟里有個老和尚和一個小和尚,老和尚給小和尚講故事,故事是什么呢?從前有座山,山里有座廟,廟里有個老和尚和一個小和尚,老和尚給小和尚講故事,故事是什么呢?從前有座山,山里有一座廟……

這是個關(guān)于遞歸的故事,遞歸有兩個必要的元素,循環(huán)嵌套和自身構(gòu)建。循環(huán)嵌套,指的每次重復(fù)同一循環(huán),且重復(fù)的循環(huán)在上一循環(huán)之中。自身構(gòu)建,指在循環(huán)嵌套中,每一次循環(huán)的內(nèi)容框架模式和上一循環(huán)是相同的,就是有相同的結(jié)構(gòu)。

比如上面那個故事中,循環(huán)嵌套的就是老和尚給小和尚在廟里講故事,其代表了每一層循環(huán)的內(nèi)容相同,且層層嵌套;而自身構(gòu)建的就是這個故事的內(nèi)容,其具有相同的結(jié)構(gòu)和模式。所以,該故事是遞歸的,因為故事循環(huán)嵌套,且故事是由其故事自身相同的結(jié)構(gòu)所嵌套而成的。

仔細(xì)思考后,發(fā)現(xiàn)這里需要注意:

自身構(gòu)建,雖然其基本構(gòu)成有相同的結(jié)構(gòu),但每個結(jié)構(gòu)包含的內(nèi)含是不同的。比如,“老和尚給小和尚在廟里講故事” 是相同的結(jié)構(gòu)模式,但每次循環(huán)中,都是不同的老和尚和小和尚,而說的故事,則包含了其后所有嵌套的故事的總和,即每次循環(huán)中老和尚講的故事,都是后面所有故事的總和,且后面的每個故事都有不同的老和尚和小和尚。

也就是說結(jié)構(gòu)和模式不變,可是結(jié)構(gòu)和模式所承載的數(shù)據(jù)不一樣。那么,從傳遞開始回到傳遞的開始,就是從某個地方出發(fā),回到出發(fā)的地方,地方還是開始的地方,但這地方的環(huán)境數(shù)據(jù),卻與之前變的不同了。

在遞歸的循環(huán)嵌套中,其任何局部的循環(huán)嵌套也是遞歸。比如說,在任意嵌套部分來看,重復(fù)嵌套的結(jié)構(gòu)都是,老和尚和小和尚在廟里說的故事,那么單看這局部,也還是遞歸。所以,在整體上遞歸,在局部也存在遞歸。

遞歸可以跳出并終止。比如老和尚和小和尚的故事可以一直說,此時遞歸就是沒有出口,就是無限循環(huán)嵌套的。如果老和尚和小和尚某次講的故事,內(nèi)容變了,比如老和尚和小和尚在探討宇宙的奧秘,不說自身結(jié)構(gòu)的那個故事,此時遞歸就結(jié)束終止了。于是,這次的老和尚和小和尚就成為了最后的循環(huán),就是遞歸的出口。

同時,遞歸終止開始回溯,從最后一次循環(huán)逐層返回到上一層,代表著故事的層層回歸。在遞歸結(jié)束之前,并沒有任何一個完整的故事,因為每個故事都沒有說完,每一個故事都有下一層的老和尚和小和尚在講,但沒講完的故事。

最后,回溯會來到最開始,就是第一次老和尚和小和尚講故事,這樣得到一個最完整的故事,內(nèi)容是第一次循環(huán)到最后一次循環(huán)之間所有的故事總和。這個故事就包含不同的老和尚、小和尚、廟,直到最后老和尚和小和尚在探討宇宙的奧秘這些數(shù)據(jù)。

在計算機(jī)程序中,遞歸一定要出口,否則會變成死循環(huán),導(dǎo)致程序無法響應(yīng)。實際上,在程序設(shè)計語言之中,遞歸是無處不在的模式。而計算機(jī)程序是模擬和映射現(xiàn)實問題的,所以被遞歸程序所模擬的現(xiàn)實世界,也應(yīng)該是充滿了遞歸的。

參考文獻(xiàn):

[1]方悅. 循環(huán)、迭代與遞歸【J】.電腦知識與技術(shù),.2020.06期 (1):55-57+66.3.2水體景觀設(shè)計。

猜你喜歡
廟里老和尚嵌套
例析“立幾”與“解幾”的嵌套問題
基于嵌套Logit模型的競爭性選址問題研究
貓鬧鳥
快樂語文(2020年33期)2021-01-16 10:50:26
不比誰大誰小
華聲文萃(2019年12期)2019-09-10 07:22:44
不比誰大誰小
祈禱
詩潮(2018年4期)2018-04-26 05:27:58
瞎編
老和尚的佛珠
讀者(2016年10期)2016-04-28 21:35:46
草莽皇帝朱元璋
株洲市| 孟州市| 东莞市| 樟树市| 饶阳县| 海丰县| 景泰县| 东阿县| 长寿区| 安新县| 牡丹江市| 措勤县| 司法| 康乐县| 壶关县| 南靖县| 黄陵县| 和田县| 读书| 中西区| 麦盖提县| 奎屯市| 和硕县| 万安县| 凉山| 崇阳县| 晋州市| 聂荣县| 博客| 太仓市| 合山市| 大同市| 湘阴县| 互助| 石楼县| 淮阳县| 阿坝县| 黄浦区| 娄烦县| 昭苏县| 砚山县|