编程经-中级篇-教你递归编程

背景

程序的6大结构

顺序结构 ()
跳转结构 (汇编中用到,高级语言基本不用 goto )
分支结构 ( if ,switch , continue,break )
循环结构 (while for until)
封装结构 (代码块{} 函数() 接口 interface和类 class )
递归结构

递归是计算机编程中最难吃透的程序结构,是处理复杂问题必须用到的结构

因为它同时主要涉及到了 循环,封装
那如何才能学会使用递归这个工具呢?
分步骤学习,先学习封装结构,再学习循环,再学习递归

先学习封装结构

什么是封装?
封装的概念非常简单, 就是打包代码的意思,就像打包 快递包裹一样.
目前的高级语言的封装一般都分为6种:
块的封装 , 语法是: {代码}
方法的封装, 语法是: function 自定义的方法名(参数){ 代码 }
类的封装 , 语法是: class 自定义的类名{ 属性,构造函数,普通函数}
包的封装, 语法是: package 自定义的包名 包含很多的类
项目的封装, 项目文件夹 包含了项目配置文件,项目工作目录,项目说明文档等

类的封装 就是大家常常听到的java面向对象 四大特性之一的封装

再学习循环结构

什么是循环?
循环的四要素:

  1. 初始(对递进和递变变量进行初始化)
  2. 范围(防止无限死循环,明确何时中断循环,明确跳过某些参照因素)
  3. 递进 (初始化的变量i的累加 ,递进变量可以看成循环的参照坐标)
  4. 递变 (在循环过程某些变量发生了某种规律的改变, 这种规律就是封装的代码内容所表达的)

各做50道相关算法练习题,你就了解了封装和循环了

[[递归体]]

fun(参照变量,...){
	参照变量的递变化(例如: ++ 或 -- )
	if(条件)  //递归结束条件设置
	 	return; 
	处理....
	
	fun(参照变量,...);
}

递归的特点

递归: 比循环四要素 多了一个要素

函数自己调用自己的函数

递归的实现的4特点 :

  1. 一定需要一个封装的函数;
  2. 一定需要声明递变量作为函数的入参;
  3. 一定存在:函数内部调用了自身函数名, 也就是进入下一层函数;
  4. 一定存在:当满足某种条件时,退出递归,或者跳过部分代码,进入下层函数;

递归的理解

  1. 在递归函数中, 在调用自身函数前,和调用自身函数后的代码意义是完全不同的.
  2. 递归函数 就是每一层算法的模型
  3. 只要要找出算法中层的边界,就可以设计出模型
    这三句话需要理解, (普通初学者,没有人指导的情况下,快的也需要2个月吧!,所以别急!!)
    估计做50道相似的题,你就会用了递归了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值