第三章 算法1.ppt

第三章 第三章 算法基本工具和优化技巧 利用算法的基本机制——循环和递归设计算法 利用算法的基本操作提高算法效率的技巧 利用数组提高算法质量 建立高效的数学模型 3.1 循环与递归 3.3 算法优化基本技巧 3.2 算法与数据结构 3.4 优化算法的数学模型 3.1 循环与递归 【例1】求1/1!-1/3!+1/5!-1/7!+…+(-1)n+1/(2n-1)! 分析:此问题中既有累加又有累乘,准确地说累加的对象是累乘的结果。 数学模型1:Sn=Sn-1+(-1)n+1/(2n-1)! 算法设计1:直接利用题目中累加项通式,构造出循环体不变式为: S=S+(-1)n+1 /(2n-1)! 需要用二重循环来完成算法,算法1如下: 算法如下: 数学模型2:Sn=Sn-1+(-1)n+1An; An=An-1 *1/((2*n-2)*(2*n-1)) 算法分析:按照数学模型2,只需一重循环就能解决问题 算法的时间复杂性为O(n)。 2.“自顶向下”的设计方法 从全局走向局部、从概略走向详尽的设计方法。自上而下是系统分解和细化的过程。 【例2】编算法找出1000以内所有完数 例如,28的因子为1、2、4、7、14,而28=1+2+4+7+14。--“完数”

文档评论(0)

1亿VIP精品文档

相关文档