数据:对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素:数据的基本单位。
数据对象:性质相同的数据元素的集合,是数据的一个子集。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合,四种数据结构:集合、线性结构、树形结构、图状或者网状结构。
数据结构的形式定义为:
数据结构是一个二元组 Data_Structure=(D,S)
其中:D是数据元素的有限集,S是D上关系的有限集。
逻辑结构在计算机中的表示(又称映象)称为数据的物理结构,又称存储结构。数据元素之间的关系在计算机中有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。
抽象数据类型(Abstract Data Type 简称ADT) ,是指一个数学模型以及定义在该模型上的一组操作,
包括了原子类型、固定聚合类型和可变聚合类型。
算法(Algorithm) 是对特定问题求解步骤的一种描述,是为解决一个或一类为题给出的一个确定的、有限长的操作序列;此外,一个算法还具有下列五个重要特性: 有穷性、确定性、可行性、输入和输出。
算法五个重要特征:
1:有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都可在有穷时间内完成。
2:确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。并且,在任何条件下,算法只有唯一的一条执行路径,
即对于相同的输入只能得出相同的输出。
3:可行性:一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。
4:输入:一个算法有零个或多个的输入,这些输入取自于某个特定的对象的集合。
5:输出:一个算法有一个或多个的输出,这些输出时同输入有着某些特定关系的量。
设计一个算法应考虑的几个要点:
正确性、可读性、健壮性、效率和低存储量的要求。
时间复杂度:
一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作:
T(n)=O(f(n))
它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度(Asymptotic Time Complexity),简称时间复杂度。