第二章 线性表
线性表的相关概念
1、线性表的定义:除了第一个元素只有直接后驱与最后一个元素只有一个前驱之外的其他元素均有一个直接前驱和后继。
2、长度:元素个数即为线性表的长度,没有元素时候称为空表
线性表的存储结构
顺序存储
1、原理:用一组连续的存储单元依次存储线性表的数据元素。
2、特点:数据元素在计算机中的物理位置相邻来表示表中数据元素间的逻辑关系->只要直到数组的基地址以及存放规则即可达到随机访问的要求->数据元素在顺序表中的存储位置取决于该数据元素在线性表中的顺序号。
3、基本操作
(1)线性表的初始化
(2)插入操作
时间复杂度:
(3)删除操作
时间复杂度:
链式存储
单链表
1、引入:顺序表随机访问某一个元素非常方便,但是想要进行插入和删除操作非常困难,因此引入链式存储。
2、单链表:一个数据域和一个指针域并且是单方向的
3、基本操作:插入和删除->根据顺序进行指针的变化即可
循环链表
无需改变链表的存储结构和空间,只是将指向空的最后一个指针改为指向头结点,从而将链表链接起来。
双链表
1、引入:以上的单链表只可以沿着一个方向寻找目标元素,双链表中增加一个指前驱的指针域,从而达到可以双向寻找
2、结构:
3、综合就是双循环链表->即实现了可以双向寻找的同时又可以将链表连接起来。