递归与迭代Recursion and iteration
Recursion and iteration, recursion and iteration
Recursion and iteration
Iteration (iterative) and recursion (recursive) can betransformed mutually. Recursion is often required to beconverted into iteration. Because recursion takes a lot of time.GCD GCD, also known as the common denominator, English GreatestCommon Divider, abbreviated GCD.
N (≥2) natural numbers A1, A2,„the greatest common divisorof an usually has two definitions:
1. the largest of all their common factors;
2. if the natural number m is the common factor of the n naturalnumber, and the arbitrary common factor of the N number is thefactor of M, it is called M is the greatest common factor ofthe N number
A1, A2, „the greatest common factor of an is often referredto as (A1, A2, &hellip, an) in China, and G.C.D. (A1, A2, &hellip,an) is the international universal symbol
Example: the GCD program: (the following procedure is describedin pseudocode) recursive method: procedure (a, b) GCD / a>b> =0//; if hypothesis; b==0 then return (a) else return (GCD(b a, mod b)) //mod operation mode operation, this type of Italyfor a with the simulation of B / / endifend GCD
Converted to iteration: procedure GCD2 (a, b) while B! =0 dot=b; b= (a mod b) ; a=t; repeat return (a) end GCD2
Another iteration of example:for ((?)) {a[2] =a[0] +a[1] ; a[0]= a[1] ; a[1] = a[2] ; } is repeatedly applying a formulaA discussion:
Looked at such a question, ask, “ program structure design ofthe three basic structure, order, selection, circulation is notnecessary? ” of course, you know, there' s just enough of thesethree, but can you do less? The answer is “ it can be ” thereason is that recursion can take the place of loops, such asthe following function of summing the elements in an array:Float Rsum (float a[], const int n) {if (n<=0) return 0; elsereturn Rsum (a, n – 1) + a[n – 1] ; }
In fact:
Sum for (int = 0; I = 0; I < n i++; sum = a[i]) ;
But the fact is that in any language there is a loop structure,but not any language supports recursion; in a word, recursionis universal, but no recursion is not impossible. However, Isee some people today, no matter what the problem must berecursive, obviously cycle is the first thought of the method,but the brains to find a recursive algorithm.
Often see “ recursive algorithm ” ; “ non recursivealgorithm ” this formulation does not have semantic problems,
and I also use——recursive algorithm. But this is notexplained, recursive algorithm, he is a kind of thought, it isbecause of the guiding ideology of an algorithm is recursive,so it is called recursive algorithm; and arecursive algorithm,when you do not use recursion as the guiding ideology, thusobtained is non recursive algorithm algorithm.——and forthe problem of cyclic energy processing, there is a recursivesolution, in this sense, the cycle algorithm can be called nonrecursive algorithm.
I didn' t mean what else in the US, just want to let you know,can write what kind of algorithm, the key is to look at yourguidance algorithm at. If you start to think of the method ofcirculation, the iteration, you bother to find what Godconsumption recursive algorithm——even found a seeminglysimple “ ” the algorithm is actually inefficient because ofhis waste——you still do this useless what? A typicalscholastic abuse. If you just think of recursion, you want touse the stack to eliminate recursion, and what you do is justdo what the system does,
How much more can you improve your efficiency? Blindsuperstition to eliminate recursion will definitely improveefficiency is groundless——the way you do the work, if notallowed, even worse than the original system practices.From the beginning of the school permutation, the factorial Iknow is like this, n = = 1× 2ׄ„n. If I were to writethe factorial algorithm, I would just think of 1 to n. Again,the Fibonacci sequence, if someone described by naturallanguage, must be the case, the start of the two is 0, 1, each
will be in front of the two and. So let me write and only get
“ save the first two items, and then add to get the result ”iterative solution.——as long as it is now almost as theytalked about recursive stage, called: “ the definition isrecursive, so we write recursive algorithm ” . What I want toask is, where does the recursive abstraction come from? It isdefined from the factorial of a cyclic process abstraction,definition of the Fibonacci sequence is an iterativeabstraction. So, we start from a fact is not recursivedefinition of a recursive, and then we said, “ because theproblem definition is recursive, it is easy towritearecursivealgorithm, then said, ” “we also can be transformed into therecursive algorithm, cyclic iterative algorithm for ” , feelslike 1÷3=0.33„„0. 33„„×, 3=0.99„„then, we spenta great mind to understand 1 = 0.99„„.
There are some people who are bored, talked to the twomentionedrecursive results, none of the students see that the definitionof factorial no doubt, no one for the recursive factorialfunction with admiration of——blind what? So, if you wantto speak to recursion, a compelling example of this example isFeihannuota.
A few questions about iterative recursion for learningreference
1 : iterative method for solving equation problems: functioncountValue () to achieve the following functions: using thesimple iterative method to find the equation: a real root ofCOS (x) -x=0. Xn+1=cos (Xn) iteration steps are as follows: (1)X1 =0; (2) X0=X1, to assign the value of X1 to X0; (3) X1=cos
(X0) , obtained a new X1 ; (4) if the absolute value of X0-X1 isless than 0.000001, step (5) , or step (2) ; (5) the X1 equationcos (X) is a real root -X=0, returned as the value of thefunction
Float countValue (void)
{x1=0.0; do {x0=x1; x1=cos (x0) ; } while (FAB (x0-x1) >=0.000001) return X1; }
简介华圣云 HuaSaint是阿里云国际版一级分销商(诚招募二级代理),专业为全球企业客户与个人开发者提供阿里云国际版开户注册、认证、充值等服务,通过HuaSaint开通阿里云国际版只需要一个邮箱,不需要PayPal信用卡,不需要买海外电话卡,绝对的零门槛,零风险官方网站:www.huasaint.com企业名:huaSaint Tech Limited阿里云国际版都有什么优势?阿里云国际版的产品...
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...
hostwebis怎么样?hostwebis昨天在webhosting发布了几款美国高配置大硬盘机器,但报价需要联系客服。看了下该商家的其它产品,发现几款美国服务器、法国服务器还比较实惠,100Mbps不限流量,高配置大硬盘,$44/月起,有兴趣的可以关注一下。HostWebis是一家国外主机品牌,官网宣称1998年就成立了,根据目标市场的不同,以不同品牌名称提供网络托管服务。2003年,通过与W...