一、基本概念和术语
- 数据(data):指所有能输入到计算机中并能被计算机程序处理的符号的总称。
- 数据元素(data element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。有时,一个数据元素可由若干个数据项(data item)组成。数据项是数据的不可分割的最小单位。
- 数据对象(data object):是性质相同的数据元素的集合,是数据的一个子集。
- 数据结构(data structure):是相互之间存在一种或多种特定关系的数据元素的集合。
分类:(1)集合。(2)线性结构。(3)树形结构。(4)图形结构或网状结构。
- 数据元素在计算机中的存储:顺序存储结构 和 链式存储结构。
顺序存储结构和链式存储结构的区别:
(1)链式存储结构的内存地址不一定是连续的,但顺序存储结构的内存地址一点是连续的;
(2)链式存储结构适用于在较频繁地插入、删除、更新元素时,而顺序存储结构适用于频繁查询时使用。
顺序存储结构和链式存储结构的优缺点:
(1)空间上:
顺序存储结构比链式存储节省空间。因为链式结构每一个节点都有一个指针存储域。
(2)存储操作上:
顺序存储支持随机存取,方便操作。
(3)插入和删除:
链式存储比顺序存储更加方便。
二、算法和算法分析
- 算法(algorithm):是对特定问题求解步骤的一中描述,它是指令的有限序列,其中一条指令表示一个或多个操作。
- 算法特性:(1)有穷性。(2)确定性。(3)可行性。(4)输入。(5)输出。
- 算法设计的要求和目标:(1)正确性。(2)可读性。(3)健壮性。(4)效率与低存储量需求。
- 算法效率的度量:时间复杂度、空间复杂度。