日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

小甲鱼零基础入门python二十一课课后题_小甲鱼Python第二十一讲课后习题

發布時間:2023/12/4 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小甲鱼零基础入门python二十一课课后题_小甲鱼Python第二十一讲课后习题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

測試題:

0. ?遞歸在編程上的形式是如何表現的呢?

在編程上,遞歸表現為函數調用本身這么一個行為。

1. ?遞歸必須滿足哪兩個基本條件?

一、 ? ? ? ?函數調用自身

二、 ? ? ? ?設置了正確的返回條件

2. ?思考一下,按照遞歸的特性,在編程中有沒有不得不使用遞歸的情況?

例如漢諾塔,目錄索引(因為你永遠不知道這個目錄里邊是否還有目錄),快速排序(二十世紀十大算法之一),樹結構的定義等如

事半功倍,否則會導致程序無法實現或相當難以理解。

3. ?用遞歸去計算階乘問題或斐波那契數列是很糟糕的算法,你知道為什么嗎?

小甲魚在課程的開頭說“普通程序員用迭代,天才程序員用遞歸”這句話是不無道理的。

但是你不要理解錯了,不是說會使用遞歸,把所有能迭代的東西用遞歸來代替就是“天才程序員”了,恰好相反,如果你真的這么做的話

龜程序員”啦。

為什么這么說呢?不要忘了,遞歸的實現可以是函數自個兒調用自個兒,每次函數的調用都需要進行壓棧、彈棧、保存和恢復寄存器的棧

上邊是非常消耗時間和空間的。

另外,如果遞歸一旦忘記了返回,或者錯誤的設置了返回條件,那么執行這樣的遞歸代碼就會變成一個無底洞:只進不出!所以在寫遞歸

萬要記住口訣:遞歸遞歸,歸去來兮!出來混,總有一天是要還的!

4. ?請聊一聊遞歸的優缺點(無需官方陳詞,想到什么寫什么就可以)

優點:

1) ? ? ? ?遞歸的基本思想是把規模大的問題轉變成規模小的問題組合,從而簡化問題的解決難度(例如漢諾塔游戲)。

2) ? ? ? ?有些問題使用遞歸使得代碼簡潔易懂(例如你可以很容易的寫出前中后序的二叉樹遍歷的遞歸算法,但如果要寫出相應的非遞歸

者可以做到的了。)

缺點:

1) ? ? ? ?由于遞歸的原理是函數調用自個兒,所以一旦大量的調用函數本身空間和時間消耗是“奢侈的”(當然法拉利也奢侈,但還是很

鶩)。

2) ? ? ? ?初學者很容易錯誤的設置了返回條件,導致遞歸代碼無休止調用,最終棧溢出,程序崩潰。

動動手:

0. ?使用遞歸編寫一個power()函數模擬內建函數pow(),即power(x, ?y)為計算并返回x的y次冪的值。

def power(x,y):

if y == 0:

result = 1

else:

result = x*power(x,y-1)

return result

1. ?使用遞歸編寫一個函數,利用歐幾里得算法求最大公約數,例如gcd(x, ?y)返回值為參數x和參數y的最大公約數。

def gcd(x,y):

if y == 0:

return x

else:

return gcd(y,x%y)

總結

以上是生活随笔為你收集整理的小甲鱼零基础入门python二十一课课后题_小甲鱼Python第二十一讲课后习题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。