什么是算法

程序=算法+数据结构

学习算法的要点:

1、理解算法的概念

2、理解什么是程序,程序与算法的区别和内在联系

3、掌握算法的计算复杂性概念

4、掌握用编程语言描述算法的方法

 

概念:在有限步骤内解一个数学问题的一个过程,步骤常常包含某一重复操作

 

算法的特征:

输入性:有零个或多个外部量作为算法的输入

输出性:算法产生至少一个量作为输出

确定性:算法中每条指令清晰,无歧义

有穷性:算法中每条指令的执行次数有限,执行每条指令是时间也有限

可行性:算法原则上能够精确的运行,而且人们用纸和笔做有限次运算后即可完成

程序:算法用某种程序设计语言的具体实现,程序可以不满足又穷性

 

算法的四个标准:

正确性:在合理的数据输入下,能在有限时间内得出正确的结果

可读性:应易于人的理解,易于调试

健壮性:具备检查错误和对错误进行适当处理的能力

效率:算法执行时所需计算机资源的多少,包括运行时间和存储空间

 

算法的描述形式:1、自然语言  2、算法框图法  3、伪代码语言  4、高级程序设计语言

 

算法设计的一般过程:

1、理解问题

2、预测所有可能是输入

3、在精确解和近似解间做选择

4、确定适当的数据结构

5、算法设计技术

6、描述算法

7、跟踪算法

8、分析算法的效率

9、根据算法编写代码

 

算法分析:时间复杂性、空间复杂性

时间复杂性:问题规模n,输入序列t,算法本身

空间复杂性:算法本身,输入输出数据,辅助变量

时间复杂度和空间复杂度相互影响

复杂性分析:当问题规模增大时,复杂度的极限行为称为算法的渐进时间复杂度

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值