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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 遞歸函數的時間復雜度

遞歸函數的時間復雜度

更新時間:2022-10-31 09:54:28 來源:動力節點 瀏覽915次

如何找到遞歸函數的時間復雜度?

讓我們首先了解求時間復雜度的基本概念。我們假設程序中的每條語句都需要一個單位的時間來執行。

讓我給出那個背后的想法。假設有一些書存放在一個地方,您必須移動這本書并將其放在架子或架子上。需要多少時間?也許半秒,四分之一秒,也許如果有人工作得很慢,可能需要一秒鐘才能把一本書放在那里。時間因人而異。所以,我們不說秒或毫秒,我們說一個時間單位。如果以貨幣為例,一美元,一盧比,一英鎊。我們說一個,但市場價值可能會有所不同。所以,我們說一美元或一單位貨幣。

同樣,我們假設每條語句都需要一個單位時間。如果該語句重復多次,那么我們需要計算它執行多少次的頻率。這足以分析我們的功能。

查找遞歸函數的時間復雜度的示例:

我們將使用以下函數。也就是說,我們將計算以下遞歸函數的時間復雜度。

現在,讓我們看看上面的函數(fun1)在做什么。它什么都不做,只是打印。它只是打印 n 的值。

打印需要多少時間?

打印需要一個單位的時間。

printf 在那里寫了多少次?

那里只寫了一次 printf。但這是一個遞歸函數。所以,它一次又一次地呼喚自己。

由于它是一個遞歸函數,讓我們找出 printf 函數執行了多少次。正如我們在遞歸工作原理一文中已經討論過的,我們可以使用跟蹤樹或遞歸樹來找出這一點。

正如您在上面的跟蹤樹中看到的,它首先打印值 3,然后打印 2,然后打印值 1。這意味著 printf 語句執行了 3 次。因此,當 n 值為 3 時,此遞歸函數將需要 3 個單位的時間來執行。如果我們將 n 值設為 5,那么執行此遞歸函數將需要 5 個單位的時間。

所以,我們可以說對于 n 它將花費 n 個單位的時間。回到這個例子,如果我們必須在書架上放一本書。你需要一個單位的時間,10本書你需要10個單位的時間。因此,對于 n 本書,您將獲得 n 個時間單位。您需要記住的最重要的一點是時間取決于書籍的數量。

時間可以表示為 n 的順序,即O(n)。花費的時間是n的順序。

使用遞歸關系的時間復雜度:

還有另一種方法可以找到時間復雜度,即使用遞歸關系。讓我們看看如何編寫遞歸關系以及如何解決它以找到遞歸函數的時間復雜度。現在,讓我們使用遞歸關系計算以下遞歸函數的時間復雜度。

我們假設上述函數花費的時間是 T(n),其中 T 代表時間。如果 fun1() 花費的時間是 T(n),那么總時間應該是該函數內的語句所花費的所有時間的總和。

那么,讓我們看一下聲明。每條語句都需要一個單位的時間來執行。請參閱函數內部有一個條件語句(if (n > 0))。執行需要多少時間,只需執行一個單位時間。然后是一個printf語句,這也需要一個單位時間。

然后那里多了一個函數調用語句(fun1(n-1)),需要多少時間,也需要一個單位時間。不,這是不正確的。它不會花費一個單位的時間。這是一個函數調用。它應該是該功能所花費的總時間。這不僅僅是一個正常的說法。它會再次調用自己。所以,在那之后還有更多的東西。那么,我們需要知道該函數調用需要多少時間?

讓我們仔細看看。我們所說的 fun1(int n) 函數調用,總時間是 T(n)。那么這個fun1(n-1)和fun1(int n)類似,這里是n-1。所以,這個函數所花費的總時間將是 T(n-1) 時間。那么什么是T(n)?正如我們所說的聲明所花費的所有時間的總和。因此,讓我們取T(n) =T(n-1)+2的總和。為了更好地理解,請看下圖。

因此,當n>0時,遞歸關系為T(n)=T(n-1 )+ 2。當n=0時會發生什么,它只會檢查條件,它不會進入其中并會出來。只是檢查條件,所以需要一個單位的時間。為了更好地理解,請看下圖。

所以,這是由 fun1 函數形成的遞歸。因此,遞歸函數的時間復雜度可以用遞歸關系的形式表示。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 黄色在线免费网站 | 中文字幕久久精品 | 九色视频网址 | 国产日韩欧美一区二区三区综合 | 一级毛片高清大全免费观看 | 欧美123| 91啦视频在线观看 | 亚洲综合成人网 | 亚洲精品午夜级久久久久 | 伊人精品在线 | 日日摸夜夜爽夜夜爽出水 | 91国在线 | 国产国拍亚洲精品永久不卡 | 久久伊人影视 | 久久久精品视频免费观看 | 最新国产午夜精品视频不卡 | 干干干日日日 | 国内精品哆啪啪 | 日韩精品在线视频观看 | 国产精品亚洲玖玖玖在线靠爱 | 夜色福利视频 | 久久99热久久国产精品 | 成人在线视频网址 | 国产精品久久久久免费 | 色吧在线视频 | 亚洲精品美女视频 | jiz欧美高清| 欧美国产日产精品免费视频 | 亚洲国产婷婷综合在线精品 | 欧美日本俄罗斯一级毛片 | 中文字幕亚洲高清综合 | 日韩麻豆国产精品欧美 | 日本一级毛片无遮挡 | 干美女网站 | 国产h视频免费观看 | 久久久精品国产免费观看同学 | 国产成人综合视频 | 色综七七久久成人影 | 免费福利入口在线观看 | 夜夜夜爽爽爽久久久 | 精品无人区乱码1区2区3区在线 |