今天無聊寫一下遞迴演算法,好久沒用也忘了,剛好記下來,下次直接look。
一、數字例子
下面是乙個計算5的階乘(result = 5*4*3*2*1=120)
按照遞迴的三個條件來分析:
(1)邊界條件:階乘,乘到最後乙個數,即1的時候,返回1,程式執行到底;
(2)遞迴前進段:當前的引數不等於1的時候,繼續呼叫自身;
(3)遞迴返回段:從最大的數開始乘,如果當前引數是5,那麼就是5*4,即5*(5-1),即n*(n-1),一直往回乘5*4*3*2*1。
二、字串遞迴例子
//獲取使用者組(包括父組的字串)
//獲取字串組裝放到sql: in(codes)條件裡面
private string getcode(string code)else
return "'"+code+"'";}}
public static void main(string args)
比如有前台使用者組qiantai,其父組為行政xingz,
行政的使用者組xingz,其父組為子公司subcom,
查詢流程:qiantai--》xingz--》subcom。
返回剛好往回走:先返回'subcom',接著,返回'xingz','subcom',最後返回'qiantai','xingz','subcom' 。
流程也跟數字例子一樣,先一層一層往下走,最後最下層往上一層一層返回。
下面是遞迴概念說明:
解釋:程式呼叫自身的程式設計技巧叫做遞迴。
程式呼叫自身的程式設計技巧稱為遞迴( recursion)。遞迴做為一種演算法在程式語言中廣泛應用。 乙個過程或函式在其定義或說明中有直接或間接呼叫自身的一種方法,它通常把乙個大型複雜的問題層層轉化為乙個與原問題相似的規模較小的問題來求解,遞迴策略只需少量的程式就可描述出解題過程所需要的多次重複計算,大大地減少了程式的**量。遞迴的能力在於用有限的語句來定義物件的無限集合。
遞迴的三個條件:
邊界條件
遞迴前進段
遞迴返回段
當邊界條件不滿足時,遞迴前進;當邊界條件滿足時,遞迴返回。
java 遞迴(字串 數字)例子
今天無聊寫一下遞迴演算法,好久沒用也忘了,剛好記下來,下次直接look。一 數字例子 下面是乙個計算5的階乘 result 5 4 3 2 1 120 按照遞迴的三個條件來分析 1 邊界條件 階乘,乘到最後乙個數,即1的時候,返回1,程式執行到底 2 遞迴前進段 當前的引數不等於1的時候,繼續呼叫自...
Java自學 數字與字串 比較字串
示例 1 是否是同乙個物件 str1和str2的內容一定是一樣的!但是,並不是同乙個字串物件 package character public class teststring 示例 2 是否是同乙個物件 特例str1 the light str3 the light 一般說來,編譯器每碰到乙個字串...
Java 數字與字串互轉
1.string.valueof number 直接使用string類的靜態方法,只產生乙個物件 int a 9 string b string.valueof a 2.integer.tostring number int a 10 string b integer.tostring a floa...