1什么是线性表?
线性表是由具有相同类型的有限数据元素组成的,数据元素是由数据项组成的。
数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位。例如,学生记录就是一个数据元素,它由学号,姓名,性别等数据项组成。
线性表是具有n个数据元素的有限序列。
2若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为了提高效率,应采用顺序表的存储方式。
顺序表可以按照序号进行随机存取,时间复杂度为O(1)。
3n个元素的线性表的数组表示中,时间复杂度是怎么样的?
(1)访问第i(1<=i<=n)结点和求第i(2<=i<=n)个结点的直接前驱。该操作时间复杂度为O(1)。
每个数据元素的存储位置和线性表的起始位置相差一个和该数据元素的位序成正比的常数,因此,线性表中的任一数据元素可以随机存取,所以线性表的顺序结构是一种随机存取的数据结构。
(2)在最后一个结点后面插入一个新的结点。该操作时间复杂度为O(1)。
查找最后一个结点时间复杂度为O(1),插入之后不需要移动元素,因此该操作的时间复杂度就是查找最后一个结点的时间复杂度O(1)。
(3)删除第一个结点。该操作的时间复杂度为O(n)。
删