数据: 是描述客观事物的符号。
数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称作记录。
数据项: 一个数据元素由若干个数据项组成,是数据不可分割的最小单位。
数据对象:是性质相同的数据元素的集合,是数据的子集。
数据结构: 相互之间存在一种或多种特定关系的数据元素的集合。
数据结构分物理结构和逻辑结构。
逻辑结构:数据对象中数据元素之间的相互关系。
1.集合结构。
2.线性结构。
3.树形结构。
4.图形结构。
物理结构:数据的逻辑结构在计算机中的存储形式。
1.顺序存储结构。
2.链式存储结构。
抽象数据类型。
数据类型:一组性质相同的值的集合以及定义在此集合上的一些操作的总称。
抽象是指抽取出事物具有的普遍性的本质。抽象是一种思考问题的方式。
抽象数据类型:一个数学模型和定义在该模型上的一组操作。
抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性。
算法是解决特定问题求解步骤的描述。在计算机中表现为指令的有限序列,并且每条指令可以表示一个或多个操作。
算法的五个特性:
输入 输出 有穷性 确定性和可行性。
算法复杂度:
事后统计法:通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低。
事前分析估算法:在计算机程序编制前,依据统计方法对算法进行估算。
1.算法所采用的策略和方法。
2.编译产生的代码质量。
3.问题的输入规模。
4.机器执行指令的速度。
抛开与计算机硬件、软件有关的因素,一个程序的运行时间,依赖于算法的好坏和问题的输入规模。
在分析程序的运行时间时,最重要的是把程序看成独立于程序设计语言的算法或一系列步骤。
我们在分析一个算法的运行时间时,最重要的是把基本操作的数量和输入规模关联起来,即基本操作的数量必须表示成输入规模的函数。
对算法复杂度,一般指最坏情况下的复杂度。