【数据结构自学笔记】程序=数据结构+算法

“程序(Program)=数据结构(Data Structure)+算法(Algorithm)”

1.算法的特性

  1. 输入输出
    算法具有零个或者多个输入,同时,算法具有至少一个的输出。
  2. 确定性
    算法的每一步都具有确定的含义,无二义性。任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得到相同的输出。
  3. 有穷性
    一个算法总是需要(输入合法的情况下)在有限的步骤结束,即每个算法需要在有穷的时间内完成
  4. 可行性
    一个算法是可以被执行的,即算法中的每个操作都可以通过已经实现的基本运算执行有限的次数完成。

2. 算法设计要求

1) 正确性

正确性(Correctness)指的是该算法能够满足预先指定的功能与性能的需求,即能够得到正确答案。
其大致可以分为以下四点:
1.该算法中不含任何语法错误
2 程序对于几组输入数据能够得到满足需求的结果。
3 .程序对于非法的输入也能够得到满足需求说明的结果(如抛出异常)。
4 .程序对于精心挑选的严苛数据依旧能够产生满足需求的结果。

2)健壮性

健壮性(Robustness)指的是当输入数据不合法时,算法也能做出相关的处理,而不是产生不可预计的效果。

3)可读性

可读性(Readability)指的是算法是可以阅读,理解和交流的。

4)耗时低,占用空间少

运行时间(Running time)与占用空间(Storage space)概念,在设计算法时,我们总是希望能够更少的使用时间和空间达成我们的目标。

算法与数据结构的研究的重点就是为了让程序运行块,占用空间低。

原教程链接:https://www.dotcpp.com/course/ds/200041.html

本文为学习过程中笔记整理仅为个人学习笔记使用
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值