1.基本概念
数据:描述客观事物的符号,可被计算机输入和处理。
数据元素:数据的基本单位,在计算机中通常被作为一个整体处理。
数据对象:性质相同的数据元素所组成的集合。
数据项:数据的不可分割的最小单位,一个数据元素常由多个数据项组成。(假如一个人就是一个数据元素,而眼睛,嘴巴,鼻子等器官可比喻为数据项)。
数据结构:相互之间存在一种或多种特定关系的数据元素的集合。从逻辑结构来看,包括:集合、线性结构、树形结构和图状(网状)结构。从物理结构来看,包括:顺序存储和链式存储结构。
数据类型:一组性质相同值的集合以及定义在该集合上的一些操作总称。(值+操作)包括:原子类型(不可再分,例如整型,字符型等)和结构类型(可以分解,例如数组)。
抽象数据类型(ADT):一个数学模型以及定义在该模型的操作。
算法:解决问题的步骤描述,在计算机中表现为有限的指令序列。(特性:确定性,有穷性,可行性,0个或多个输入,1个或多个输出)(算法设计要求:正确性,可读性,健壮性(可应付尽可能多的情况),高效率低存储)。
时间复杂度:T(n)=O(f(n)),算法时间增长率与f(n)的增长率相同。常见的时间复杂度排序O(1)<O(LogN)<O(N)<O(NLogN)<O(N^2)<O(N^3)<O(2^N)<O(N!)<O(N^N)
空间复杂度:S(n)=O(f(n))