演算法一 遞迴

2021-06-04 23:23:06 字數 492 閱讀 9714

#include#includeint main(int argc,char *argv)

void convertto(char *s,int integer,int b)

; int len;

if(0==integer)

convertto(s,integer/b,b);

len=strlen(s);

s[len]= bit[integer%b]; // 此處不能直接用integer%b,因為這裡要的時字元而不是整數所以要轉換

s[len+1]='\0';

}

以上用遞迴實現了進製之間的轉換。

個人覺得遞迴不能太糾結於區域性,否則,思考起來,很抓狂啊!

貌似最近寫的幾個程式都用到了遞迴思想!感覺有時用遞迴解決會來的更簡單。

另外遞迴,和其他的演算法有時候會結合著使用,例如和棧的結合,分治演算法也用到了,後面看了點二叉樹也會用到! 看樣子,還是比較重要啊!

基礎演算法 遞迴 一

1.漢諾塔 include using namespace std void fac int n,char a,char b,char c int main 2.普通揹包問題 設有乙個揹包可以放入的物品重量為s,現有n件物品,重量 分別是w1 w2,w3 wn 問能否從這 n件物品中選擇若干件 放入...

演算法解讀 遞迴(一)

演算法的最重要的是演算法設計的模型,以及該模型背後的設計思想。定義 遞迴從程式設計的角度上理解 遞迴就是乙個過程或者函式在其定義中直接或間接呼叫自身的一種方法。遞迴是一種用來描述問題和解決問題的基本方法。特點 通常把乙個大型複雜的問題層層轉化為乙個與原問題相似的規模較小的問題來求解。一般說來,遞迴需...

乙個遞迴演算法

要求實現1,1,2,3,5,8,13,21,這樣乙個序列。分析一下輸出結果 發現後乙個數字是前2個數字的和。遞迴演算法如下 public static int recursion int i if i 0 return 0 else if i 0 i 2 return 1 else return r...