1樓:竹簡墨已白
遞迴,就是在執行的過程中呼叫自己。構成遞迴需具備的條件:1.
子問題須與原始問題為同樣的事,且更為簡單;殲純2. 不能無限制地呼叫本身,須有個出口,化簡為非遞迴狀況處理。在數學和電腦科學中,遞迴指由一種(或多種)簡單的基本情況定義的一類物件或方法,並規定其他所有情況都能被還原為其基本情況。
例如,下列為某人祖先的遞迴定義:某人的雙親是他的祖先(基本情況)。某人祖先的雙親同樣是某人的祖先(遞迴步驟)。
斐波納契數列(fibonacci sequence),又稱**分割數列,指的是這樣乙個數列..i[1] 斐波納契數列是典型的遞迴案例:遞迴關係就是實體自己和自己建立關係。
fib(0) =1 [基本情況] fib(1) =1 [基本情況] 對所有n > 1的整數:fib(n) =fib(n-1) +fib(n-2)) 遞迴定義] 儘管有許多數學函式均可以遞迴表示,但在實際應用中,遞迴定義的高開銷往往會讓人望而卻步。例如:
階乘(1) =1 [基本情況] 對所有n > 1的整數:階乘(n) =n * 階乘枝改銀(n-1)) 遞迴定義] 一種便於理解的心理模型,是認為遞迴定義對物件的定義是按照「先前定義的」同類物件來定義的。例如:
你怎樣才能移動100個箱子?答案:你首先移猛宴動乙個箱子,並記下它移動到的位置,然後再去解決較小的問題:
你怎樣才能移動99個箱子?最終,你的問題將變為怎樣移動乙個箱子,而這時你已經知道該怎麼做的。如此的定義在數學中十分常見。
例如,集合論對自然數的正式定義是:1是乙個自然數,每個自然數都有乙個後繼,這乙個後繼也是自然數。
2樓:聽不清啊
遞迴就是乙個過程陪蠢公升或者函檔寬數在執行的過程中呼叫自己。他通常可以把乙個大型蘆老複雜的問題層層轉化為乙個與原問題相似的規模較小的問題來解決。
3樓:匿名使用者
遞迴,又譯為遞迴孝高,在數碼慎轎學與電腦科學中,是指在函式的定義中使用函式自身的方法。遞迴一詞還較遲肆常用於描述以自相似方法重複事物的過程。
4樓:答題小能手
程式呼叫自身的程式設計技巧稱為遞迴遞迴,作為一種演算法,在程式設計語言中廣泛應用。
計算機裡面遞迴的作用是什麼?
5樓:網友
遞迴演算法。一般用於解決三類問題:
1)資料的定義是按遞迴定義的。(fibonacci函式)
2)問題解法按遞迴算搏租法實現。
這類問題雖則本身沒有明顯的遞迴結構,但用遞迴求解比迭代求解更簡單,如hanoi問題。
3)資料的結構形式是按遞迴定義的。
如二叉樹。廣義表等,啟兆由於結構本身固有的遞迴特性,則它們的操作可遞悄銀租歸地描述。
遞迴的缺點:
遞迴演算法解題相對常用的演算法如普通迴圈等,執行效率較低。因此,應該儘量避免使用遞迴,除非沒有更好的演算法或者某種特定情況,遞迴更為適合的時候。在遞迴呼叫的過程當中系統為每一層的返回點、區域性量等開闢了棧來儲存。
遞迴次數過多容易造成棧溢位等。
遞迴典型問題: 梵塔問題(漢諾塔問題。
已知有三根針分別用a, b, c表示,在a中從上到下依次放n個從小到大的盤子,現要求把所有的盤子。
從a針全部移到b針,移動規則是:可以使用c臨時存放盤子,每次只能移動一塊盤子,而且每根針上。
不能出現**壓小盤,找出移動次數最小的方案。
6樓:網友
將一類需要調自身的演算法,稱為遞迴。
就是需要不斷迴圈演算法本身,直到達成條早清納件。
遞迴就是解決這種正含演算法而寫出的函式;
遞迴的缺點,是由於要大量調陸沒用函式自身,從而產生了大量的進棧操作,從而對棧記憶體造成巨大壓力,如果棧過小,而演算法迴圈次數太多的,很容易導致棧溢位。
計算機中的遞迴思想
7樓:小董懂點科技
計算機中的遞迴的基本思想是:把規模大的問題轉化為規模小的相似的子問題來解決。在函式實現時,因為解決大問題的方法和解決小問題的方法往往是同乙個方法,所以就產生函式呼叫它自身的情況。
另外這個解決問題的函式必須有明顯的結束條件,這樣就不會產生無限遞迴的情況。
對於遞迴,最好的理解方式是從函式的功能意義的層面來理解,遞迴本質上也是函式的呼叫,在函式中正呼叫時總會把一些臨時賣慧悔碧核資訊儲存到堆疊,堆疊是為了函式能正確的返回。
計算機是目前最吃香的專業之一,計算機裡面哪個專業最吃香呢
好奇的小裡子 計算機是目前最吃香的專業之一,計算機裡面人工智慧最吃香。計算機是目前最吃香的專業之一,因為它在很多方面能涉及到。隨著社會現代化的發展,計算機人才的需求越來越大。計算機本身是可以分成非常多的 不同的專業,分類不同,從事的崗位也有所不同。即使可能只是金融行業,或者醫學之類的崗位,也是需要有...
計算機習題,計算機習題
一 單項選擇題 35x2 1 pc 機在工作中,電源突然中斷,則 c 全部不丟失。a.rom和ram中的資訊 b.ram中的資訊 c.rom中的資訊 d.ram中的部分資訊 2 電子計算機硬體系統是以 c 為電子元器件的計算機。a.電晶體 b.電子管 c.大規模或超大規模積體電路 d.繼電器 3 在...
計算機問題,計算機問題
三城補橋 用電腦來解決問題的三大步驟是 分析問題。用電腦來解決問題時,首先電腦要對問題進行定性 定量的分析,然後才能設計演算法。定性分析法是對問題進行 質 的方面的分析,確定問題的性質,定量分析法,是對要解決的問題的數量特徵 數量關係與數量變化進行分析的方法。設計演算法。演算法 algorithm ...