《算法导论》学习分享——2. 算法基础

2. 算法基础

本章介绍了一个证明算法正确性的方法——循环不变式,对算法运行时间的简单分析,以及分治法。

循环不变式

类似于数学归纳法的一种证明算法正确性的方法。
需要证明以下三步:

  • 初始化
    循环的第一次迭代前,它为真。
  • 保持
    如果循环的某次迭代之前它为真,那么下次迭代之前它仍为真。
  • 终止
    再循环终止时,不变式为我们提供一个有用的性质,该性质有助于证明算法是正确的。

分治法

将原问题分解为几个规模较小但类似于原问题的子问题,递归求解这些子问题,然后合并这些子问题的解来建立原问题的解。
每层递归时,都有如下三个步骤:

  • 分解
    将原问题分解为几个规模较小但类似于原问题的子问题
  • 解决
    递归求解各个子问题,当子问题规模够小可以直接求解时,则直接求解
  • 合并
    合并这些子问题的解来建立原问题的解

涉及算法

点击查看实现

习题答案

思考题

Source:https://github.com/maomao9003/Introduction-to-Algorithms/blob/master/Docs/Chapter/2.算法基础.md

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值