基本概念和术语
1.数据:数据是信息的载体。
2.数据元素:数据的基本单元。一个数据元素可由若干个数据项组成。
3.数据项:数据的最小单元。
4.数据对象:具有相同性质的数据元素的集合,是数据的一个子集。
5.数据结构:相互之间存在一种或多种特定关系的数据元素的集合。
数据结构包括三方面:逻辑结构、存储结构、数据的运算。
算法的设计取决于逻辑结构,算法的实现依赖于所采用的存储结构。
根据数据元素之间关系的不同特性,通常有4类基本结构:①集合;②线性结构(一对一);③树形结构(一对多);④图状结构或网状结构(对多对)
6.数据类型:是一个值的集合和定义在这个值集上的一组操作的总称。分为:①原子类型:其值不可再分;②结构类型:其值可以分解为若干成分(分量);③抽象数据类型(ADT):是指一个数学模型以及定义在该模型上的一组操作。定义仅取决于它的一组逻辑特性。
数据结构三要素
1.逻辑结构
分为线性结构和非线性结构
2.存储结构
在计算机中表示信息的最小单位是二进制数的位(bit)。在计算机中,可以用一个由若干位组合起来形成的一个位串表示一个数据元素,通常称这个位串为元素或结点。当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串成为数据域。因此,元素或结点可看成是数据元素在计算机中的映像。
3.数据的运算
运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤。
算法和算法评价
重要特性:
①有穷性:有穷步,有穷时间。
②确定性:相同输入只能得到相同的输出。
③可行性。
④输入:0/多个输入。
⑤输出:必须有输出。
要求目标:
①正确性。
②可读性。
③健壮性:能够对输入的非法数据作出反应或处理,而不会产生莫名其妙的输出。
④效率与低存储量需求。
算法效率的度量
1.时间复杂度
语句的频度指的是该语句重复执行的次数。
2.空间复杂度
是问题规模n的函数
算法原地工作是指算法所需的辅助空间为常量