日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

算法解读 ---- 递归(一)

發(fā)布時(shí)間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法解读 ---- 递归(一) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

算法解讀 ---- 遞歸(一)

算法的最重要的是算法設(shè)計(jì)的模型,以及該模型背后的設(shè)計(jì)思想。

定義:
遞歸從編程的角度上理解:遞歸就是一個(gè)過(guò)程或者函數(shù)在其定義中直接或間接調(diào)用自身的一種方法。

遞歸是一種用來(lái)描述問(wèn)題和解決問(wèn)題的基本方法。

特點(diǎn):
通常把一個(gè)大型復(fù)雜的問(wèn)題層層轉(zhuǎn)化為一個(gè)與原問(wèn)題相似的規(guī)模較小的問(wèn)題來(lái)求解。

一般說(shuō)來(lái),遞歸需要有邊界條件、遞歸前進(jìn)段和遞歸返回段、當(dāng)邊界條件不滿足時(shí),遞歸前進(jìn);當(dāng)邊界條件滿足時(shí),遞歸返回。

遞歸算法:
第一步:將原問(wèn)題分解多個(gè)具有類似于原問(wèn)題特性的子問(wèn)題。(遞歸關(guān)系)
第二步:確定一個(gè)或者多個(gè)無(wú)須分解、可直接求解的最小子問(wèn)題(遞歸的終止條件)

舉例:

輸入兩個(gè)整數(shù)x,n,計(jì)算x 的n次冪,結(jié)果對(duì)10000007取模。

問(wèn)題描述:

上述題意:可歸結(jié)為:
1、遞歸關(guān)系:x^n = x*x^(n-1)
2、邊界條件:當(dāng)n=0時(shí)候,x=1

參考代碼:

#include <QCoreApplication>#include<iostream>#define MOD 10000007long long power(int x,int n) {long long ans;if(n==0) ans = 1;else{ans=x*power(x,n-1)%MOD;}return ans%MOD; }using namespace std;int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);int x;int n;cout<<"please Enter x:" <<endl;cin>>x;cout<<"please Enter n:"<<endl;cin>>n;cout<<"the answer is :"<<power(x,n);return a.exec(); }

總結(jié)

以上是生活随笔為你收集整理的算法解读 ---- 递归(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。