数据结构(严蔚敏版)--绪论

一.数据概述


数据:所有能被输入到计算机中,且能被计算机处理的符号的集合。

数据元素:数据中的一个"个体",数据结构中讨论的基本单位。

数据结构:带结构的数据元素的集合。

 数据的逻辑结构可以分为:

 1.集合结构(数据元素关系:结构之间的元素同属于一个集合体)

 2.线性结构(数据元素关系:结构之间的元素存在一对一的关系)

 3.树形结构(数据元素关系:结构之间的元素存在一对多的关系)

 4.图状结构(数据元素关系:结构之间的元素存在多对多的关系)




二.存储结构


数据的存储结构:数据结构在存储结构中的映像

两种关系映像:顺序映像与非顺序映像

 顺序映像:借助元素在存储器的相对位置来表示数据元素之间的逻辑关系。

 非顺序映像(链式映像):借助元素存储地址的指针表示数据元素之间的逻辑关系。

数据类型:是一个值的集合与定义在这个值集上的一组操作类型的总称。

抽象数据类型:是一个数据模型以及定义在此数据模型上的一组操作(两个特征)

 数据抽象:用抽象数据类型描述现实世界实体时,强调的是它本质的特征、其所能完成的功能以及它和外部的接口

 数据封装:将实体的外部特性和内部实现细节分离,并且对外部用户隐藏其内部实现的细节




三.算法概述


算法:算法是为了解决某类问题而规定的一个有限长的操作序列,且需要满足5个特征

①.有穷性(两点。一.对于任意算法,执行步骤必须是有限的;二.对于每一个步骤必须在有限时间(合理时间)内完成)

②.确定性(在任何条件下,算法都只有一条执行路径,无二义性)

③.可行性(算法的操作简洁易懂,足够基本) 

④.有输入 ⑤.有输出

算法设计要求:

①.正确性 ②.可读性 ③.健壮性(针对非法数据输入时,有有效的处理机制) ④.效率与低存储量需求(高效率低存储)

时间复杂度:随着问题规模n的增长,算法执行时间的增长率和f(n)的增长率相同,可记为T(n)=O(f(n)),称T(n)为算法的(渐进)时间复杂度。

频度:指的是该语句重复执行的次数。

空间复杂度:与时间复杂度类似,n为问题规模大小,记作:S(n)=O(f(n))。