数据的基本概念
数据:数据是信息的载体,是描述事物属性的数字符号以及所有能输入到计算机中被程序识别和处理的符号的集合.
数据元素:数据的基本单位,通常作为一个整体进行考虑和处理.
数据项:构成数据元素的不可分割的最小单位.
数据对象:具有相同性质的数据元素的集合.
数据类型:是一个值得集合和定义在此集合的一组操作.
抽象数据类型:(仅由逻辑结构决定)指一个数学模型以及定义在其上的一组操作.
数据结构:数据元素相互之间的关系。
数据结构的"三要素"
逻辑结构:指数据元素之间的逻辑关系,即从逻辑关系上描述数据.可以分为线性结构和非线性结构,也可分为集合,线性结构,树形结构和图形(或网状)结构.
物理(存储)结构:包括数据元素的表示和关系的表示,通过计算机语言实现.分为顺序存储结构,链式存储结构,索引存储结构和散列存储结构.
数据运算:施加在数据上的运算包括运算的定义和实现.运算的定义是针对逻辑结构的,指出运算的结构:运算的实现是针对存储结构的,指出运算的具体的操作步骤.
算法基本概念
算法:对特定问题求解步骤的一种描述。
算法特性
有穷性:执行步骤有穷且步骤能再又穷时间能完成.
确定性:每一条指令必须有明确的含义,对于相同的输入只能得到相同的输出.
可行性:算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现.
输入:可以有零个或多个输入
输出:可以有一个或多个输出
算法目的
正确性:算法应当能够正确地解决求解问题.
可读性:算法应当具有良好的可读性,以助于人们理解.
健壮性:当输入非法数据时,算法也能适当的做出反应.
效率与低存储量需求:效率是指算法执行的时间,存储量需求是指算法执行过程中所需的最大存储量.
算法效率的度量
时间复杂度:
加法规则:T(n) = T1(n)+T2(n) = O(f(n))+O(g(n)) = O(max(f(n),g(x)).
乘法规则:T(n) = T1(n)*T2(n) = O(f(n))*O(f(n)) = O(f(n)*g(n)).
空间复杂度
算法原地工作指算法所需的辅助空间是常量.