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

“程序(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

本文为学习过程中笔记整理仅为个人学习笔记使用

你可能感兴趣的:(日常,自学笔记,数据结构)