本章将定制并实现更加基本,且更为常用的两类数据结构——栈与队列。与此前介绍的向向量和列表一样,它们也属于线性序列结构,故其中存放的数据对象之间也具有线性次序。相对于一般的序列结构,栈与队列的数据操作范围仅限于逻辑上的特定某端。然而,得益于其简洁性与规范性,它们既成为构建更复杂、更高级数据结构的基础,…
2.2 列表 2.2.1 从向量到列表 不同数据结构内部的存储与组织方式各异,其操作接口的使用方式及时空性能也不尽相同。引入列表结构的目的在于弥补向量结构在解决某些应用问题时,在功能及性能方面的不足。二者之间的差异,表面上体现于对外的操作方式,但根源则在于其内部存储方式的不同。 从静态到动态: 数据…
2.1.1 从数组到向量 数组: C、C++和Java等程序设计语言,都将数组作为一种内置的数据类型,支持对一组相关元素的存储组织与访问操作。 具体地,若集合 S 由 n 个元素组成,且各元素之间具有一个线性次序,可将它们存放于起始于地址 A、物理位置连续的一段存储空间,并统称作数组(array)。…
1.1 基本名词 数据(data):数据是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被程序识别和处理的符号的集合。 数据元素(data element):数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干数据项(data item)组成,数据项是构…