线性表(List)
由零个或多个数据元素组成的有限序列:
- 线性表是一个序列。
- 若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素有且只有一个前驱和后继。
- 线性表是有限的。
抽象数据类型
数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。C语言中可分为原子类型和结构类型(例如数组)。
抽象:抽取出事物具有的普遍性的本职。要求抽出问题的特征而忽略非本质的细节,是对具体事物的一个概括。是一种思考方式。
抽象数据类型(Abstract Data Type,ADT):是指一个数学模型及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如表示和实现无关。
例如1+1=2,在不同的cpu处理不同,但性质一样,对于编程者而言都是相同的。
不仅指编程语言已定义的数据类型,还包括自己定义的数据类型,例如struct。
顺序存储结构
三个属性:存储空间的起始位置;最大存储容量;当前长度。
存储时间性能:O(1),称为随机存储结构。
插入删除:O(n)。
适合元素个数稳定,不经常插入和删除,经常存取。
优点:无需为表示元素之间的逻辑关系而增加额外的存储空间;
缺点:长度变化时难以把握,易造成存储空间的碎片。
链式存储结构
数据域+指针域=存储映像(结点)