算法基本工具学习课件.pptVIP

  • 6
  • 0
  • 约1.69万字
  • 约 70页
  • 2016-12-06 发布于江苏
  • 举报
3.1 循环与递归 设计算法重复处理大量数据的思路:以不变应万变; 两种思路:循环、递归。 1 循环设计要点 循环控制-熟悉; 设计要点: 注意算法的效率 “自顶向下”的设计方法 由具体到抽象设计循环结构 1 循环设计要点-例1(注意算法效率) 例1 求级数 求:1/1!-1/3!+1/5!-1/7!+…+(-1)n+1/(2n-1)! 1 循环设计要点-例1 算法分析: 以上算法是二重循环来完成 ,但算法的效率却太低O(n2)。 1 循环设计要点-例2(自顶向下的设计方法) 1 循环设计要点-例2 核心算法设计 for(i=0;in;i=i+1){ 判断i是否是完数; if是“完数”则按规则输出; } 1 循环设计要点-例2 考虑到要按格式输出结果,应该开辟数组存储数据i的所有因子,并记录其因子的个数,因此算法细化如下: 1 循环设计要点-例3(从具体到抽象设计循环) 对于不太熟悉的问题,其“不变”不易抽象; 1 循环设计要点-例3 1 循环设计要点-例3 用斜行、列描述新的循环方向。 1 循环设计要点-例3 2 递归设计思路-例4 程序结构化设计的三种基本结构,顺序、选择、循环是不是必须的? 2 递归设计思路-例4 2 递归设计思路-例4 2 递归设计思路-例4 3 递归设计要点 递归的关键在于找出递归方程式和递归终止条件。 递归定义:使问题

文档评论(0)

1亿VIP精品文档

相关文档