對於遞迴的理解

2021-08-29 02:43:04 字數 375 閱讀 3407

有很多時候我們可能會遇到使用遞迴的問題來解決問題,其中我感覺遞迴最重要的是把大的問題一步步地進行分解成小的問題

所以首先要對問題進行分割,其中可能涉及到了一些分割問題的技巧

其次,分割成小問題之後我們要確定遞迴的方法中的引數,有多少個變數在變化,需要傳進方法中引數有多少,遞迴呼叫的時候引數該如何變化這些都是需要進行詳細分析之後需要確定的(每個小問題處理的方法是一樣的)

第三個是遞迴是自己呼叫自己所以不可能無休止地呼叫,所以要設計遞迴的出口,這也就是問題的邊界值,假如沒有考慮完全可能會造成越界的問題

遞迴呼叫遇到出口呼叫完成之後,假如方法有返回值那麼會將上一層的結果層層返回直到求解出一開始呼叫該遞迴函式的位置的結果,最終多次遞迴呼叫更新完成所要求解的結果之後返回(層層更新)

對於遞迴的個人理解 2

對於上篇文章所說的 遞迴策略只需少量的程式就可描述出解題過程所需要的多次重複計算,大大地減少了程式的 量。遞迴的能力在於用有限的語句來定義物件的無限集合 這只是乙個表象,最主要的思想是看起來規模很大的問題劃分為乙個或者多個規模更小的子問題,而這些子問題可以用同樣的方法去求解。用遞迴來解決問題的時候,...

對於遞迴查詢語法的一些理解

近期的面試過程中發現凡是提到oracle基本都會問乙個有關樹形結構資料查詢的問題。後經朋友指點知道這種問題一般通過遞迴查詢來解決。今天自己實踐了一下遞迴查詢的使用,經驗如下 1 關鍵字為start with.connect by prior,可以沒有where關鍵字。start with 部分條件定...

對於STL的理解

stl standard template library stl是一些 容器 的集合,這些 容器 有list,vector,set,map等,stl也是演算法和其他一些元件的集合。這裡的 容器 和演算法的集合指的是世界上很多聰明人很多年的傑作。stl的目的是標準化元件,這樣就不用重新開發,可以使用...