迭代、归纳和递归

  计算机的威力源自其反复执行同一任务或同一任务不同版本的能力。在计算领域,迭代这一主题会以多种形式出现。使用迭代,程序和算法可以在不需要单独指定大量相似步骤的情况下,执行重复性的任务,如“执行下一步骤1000次”。编程语言使用像C语言中的while语句和for语句那样的循环结构,来实现迭代算法。
  与重复密切相关的是递归,在递归技术中,概念是直接或间接由其自身定义的。在C语言中,函数F是可以调用自身的,既可以从F的函数体中直接调用自己,也可以通过一连串的函数调用,最终间接调用F。
  另一个重要思想——归纳,是与“递归”密切相关的,而且常用于数学证明中。

  总结来说,迭代是重复,递归是自己调用自己,归纳是指一种推理方法,由一系列具体的事实概括出一般原理(跟“演绎”相对)。
  迭代、归纳和递归都是基本概念,会以多种形式出现在数据模型、数据结构和算法中。下面介绍了一些使用这些概念的例子:

  • 迭代计数。反复执行一系列操作的最简单方法就是使用迭代结构,比如C语言中的for语句。
  • 递归程序设计。
  • 归纳证明。又称为数学归纳法,高中必修的方法,虽然高考不会考。
  • 程序正确性证明。在计算机科学中,我们常希望能够证明与程序有关的命题S(n)为真, 不管是采用正式的还是非正式的方式。例如,命题S(n)可能描述了某个循环的第n次迭代中什么
    为真,或是对某个函数的第n次递归调用来说什么为真。对这类命题的证明一般都使用归纳证明。
  • 归纳定义。计算机科学的很多重要概念,特别是那些涉及数据模型的,最好用归纳的 形式来定义,也就是我们给出定义该概念最简单形式的基本规则,以及可用来从该概念较小实 例构建更大实例的归纳规则。
  • 运行时间的分析。算法处理不同大小的输入所花的时长(算法的“运行时间”)是衡量 其“优良性”的一项重要指标。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值