算法设计与分析期末总结

算法设计与分析

学什么?

  1. 什么是算法
  2. 如何设计算法
  3. 如何判断算法的优劣

基本的算法设计策略
分治法
贪心方法
动态规划
回溯法
分支-限界法

现实世界的两个问题
问题能解决吗?(可计算性)
问题解决的好吗?(计算复杂性)

什么是算法
算法是解决已确定类问题的任意一种特殊的方法。

  1. 数值计算方法:求解数值问题、插值计算、数值积分等。
  2. 非数值计算方法:求解非数值问题,主要进行判断比较。
    算法的非形式描述:算法就是一组有穷的规则,它规定了解决某一特定类型问题的一系列问题。(这是knuth给出的概念)

算法的五个重要特性

  • 确定性:每一种运算必须要有确切定义,无二义性
    例:(1)5/0;(2)6或7与x相加。
  • 能行性:运算都是基本运算,原理上能由人用纸和笔在有限时间完成。
  • 输入:有0个或多个输入
    在算法开始之前,从特定的对象集合中取值。
  • 输出:一个或多个输出。
    这些输出和输入有特定关系。
  • 有穷性:在执行了有穷步运算后终止。
    仅仅有穷还不够,还要在现代计算机上有效才行。(非常有限)

计算过程与算法的区别

计算过程可以不满足算法的性质-有穷性。

程序=算法+数据结构(By Niklaus Wirth)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值