数据结构的基本概念:
数据:数据是信息的载体,是描述客观事物的数,字符以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。
数据元素:数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位;例如:学生记录就是一个数据元素。
数据对象:是具有相同性质的数据元素的集合,是数据的一个子集;例如:整数数据对象。
数据类型:是一个值的集合和定义在此集合上一组操作的总称。
1,原子类型【其值不可再分的数据类型】
2,结构类型【其值可以再分解为若干成分(分量)的数据类型】
3,抽象数据类型。【抽象数据组织及与之相关的操作】
数据结构:
是相互之间存在一种或者多种特定关系的数据元素的集合,在任何问题中,数据元素并不是孤立存在的,他们之间存在某种关系。这种关系称为结构。数据结构包括三方面内容:逻辑结构,存储结构,数据的运算。
数据的逻辑结构和存储结构密不可分:算法的设计取决于逻辑结构,算法的实现依赖于所用的存储结构。
逻辑结构:线性结构和非线性结构。
线性表是经典的线性结构,集合,树,图是典型的非线性结构。
存储结构:【又称物理结构】指数据结构在计算机中的表示,主要有顺序存储,链式存储,索引存储,和散列存储。
算法和算法评价:
算法:指对特定问题求解步骤的一种描述,它是指令的有限序列,其中每条指令表示一个或多个操作。一个算法具有:
1,有穷性:算法执行步骤有限,执行时间有限。
2,确定性:每条指令有确定的含义,相同输入得出相同输出
3,可行性:算法中描述的操作基于 基本运算有限次 实现
4,输入:一个算法有0个或多个输入,输入取自于某个特定的对象的集合。
5,输出:一个算法有一个或多个输出,输出是与输入有某种特定关系的量。
好的算法:1,正确性 2,可读性 3,健壮性 4,效率与低存储需求。
算法效率的度量
1,时间复杂度
常见渐进时间复杂度:
2,空间复杂度
定义该算法所耗费的存储空间。