一、定义
由零个或多个数据元素组成的有限序列
若元素存在多个,第一个无前驱,最后一个无后继,其他元素有且只有一个前驱和后继
线性表所处理的数据都是有限的
线性表的个数n定义为线性表的长度,n=0,为空表
二、抽象数据类型
1、数据类型定义
2、数据类型分类
3、抽象数据类型
仅取决于它的一组逻辑特性,与其在计算机内部如何表示和实现无关
4、标准格式
三、ADT 线性表 (list)
四、线性表的存储结构
1、顺序存储结构
插入和删除在最后,时间复杂度还是O(1)
封装需要的三个属性:
地址计算方法:
插入操作:
删除操作:
优缺点:
2、链式存储结构(n个结点链接成一个链表)
任意的存储单元存储线性表的存储元素,存储单元可以存在于内存中未被占用的任意位置
除了要存储数据元素信息外,还要存储它的后继元素的存储地址(指针)
PS:
数据域:存储数据元素信息的域
指针域:存储直接后继位置的域
指针或链:指针域中存储的信息
结点或存储映像:数据和指针两部分组成数据元素
单链表:每个结点中只包含一个指针域
头指针:链表中的第一个节点中的存储位置
空(null或^):最后一个结点指针