到一个新的知识了,怎么说呢,期待加担忧。国庆在老家四处奔亲戚,现在在车上写博客,委屈的着不住。

      什么是递归?程序调用自身的编程技巧就是递归,接地气一点就是我自己用自己;它作为一种算法在程序设计语言中应用的很广泛,一个函数或一个过程在定义或说明中间接调用自身的一种方法;通常把一个大型复杂问题层层转化,我的理解是去其糟粕,“炼”其精华,最后化成一个与原问题相似规模较小的问题来求解。他的突出就表现在只需少量程序就可以描述出解题过程所需的多次重复计算,大大的减少了程序的代码量。其重要思想,核心观念总结一下就是大事化小。

       递归存在两个必要条件:1.限制条件,当满足这个限制条件时,递归中止。

2.每次递归调用后越来越接近这个限制条件。(我反正一开始看的云里雾里)

初识函数递归_日常

于是这里端上一个简单的递归:

初识函数递归_日常_02

      这个代码执行结果看似是死循环,但后边儿莫名停下了,如上,这是递归常见的错误——堆栈溢出。这里就是main函数自己调用自己,我要在内存中的栈区为这次调用申请空间,然后咱把他死循环,栈区被榨干后,就会栈溢出。栈溢出英语“stack overflow”,这里也推荐一个全球性的同性交友网站网站嗷(滑稽)——stackoverflow.com,它相当于程序猿的知乎,就是有人提问然后又有专业领域大神回答的平台,其火爆程度不亚于Github。

      今天时间太紧,人也累蔫儿了,就先扒拉扒拉概念,眠了,家人们。