【数据结构和算法】算法概述

本文介绍了算法的基本概念,强调了算法的有穷性、确定性、可行性、输入和输出等五个特性。同时,阐述了算法的衡量指标,包括正确性、可读性、健壮性、时间复杂度和空间复杂度。时间复杂度主要受算法策略、问题规模等因素影响,而空间复杂度关注的是算法执行过程中临时变量占用的存储空间。
摘要由CSDN通过智能技术生成

是什么

通常我们对于现实中的问题会进行建模,然后确定求解方法。算法 就是解决问题的方法描述,是指令的有限序列。
一个算法应该具备以下5个重要的特性
1、有穷性:
一个合理的算法对于合理的输入需要在有穷步之后结束,且每一步都需要在有穷时间内完成。
2、确定性
算法中的每一步都需要有确切的含义,不能有二义性。,相同输入,同一个输出。
3、可行性
一个算法是可行的,可以通过基本运算有限次操作实现。
4、输入
一个特定对象的集合中的零个或多个输入。
5、输出
与输入保持特定关系的量,有0个或者多个输出。
说明:
程序是某种语言对于算法的实现,程序描述了具体实现,而算法是思想,是方法。

算法的衡量指标:

1、正确性
算法正确执行,满足事先设定的功能和性能要求
a、无语法错误
b、合理的输入,必须要有满足要求的输出
2、可读性
注释和变量名,文档描述
3、健壮性
当输入数据不合理或者环境改变时,算法可以恰当的做出反应和进行处理,而不是产生莫名其妙的结果。(异常处理机制)
4、时间复杂度
算法要尽可能的快
5、空间复杂度
算法还要考虑内存空间使用率。

一句话总结

用最少的资源最短的时间,风险评估下做出最正确接地气的事情。

时间复杂度

由于程序执行的绝对时间是由计算机的软件和硬件、编程语言还

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值