1 . 线性表
1.1基本数据结构
1.2顺序表
–连续的区块
1.3链表
–单独的零散的存储空间,通过逻辑上“指针”联系起来的
1.3.1单链表
–单向的一层一层链接起来的链表
–每个结点都有两个域,前面的是“数据域”(存储数据),后面的是“指针域”(指向后一个结点的地址)
1.3.2循环链表
–最后一个结点的 指针域 指向了 头结点 ,形成一个循环
1.3.3双链表
–两个指针域,两个不同的方向
–双链表可以朝 两个方向 移动
–双链表的 灵活度 优于单链表
1.4顺序表与链表的比较
性能类别 | 具体项目 | 顺序存储 | 链式存储 |
---|---|---|---|
空间性能 | 存储密度 | =1,更优 | <1 |
容量分配 | 事先确定 | 动态改变,更优 | |
时间性能 | 查找运算 | O(n/2) | O(n/2) |
读运算 | O(1),更优 | O([n-1]/2),最好清空为1,最坏情况为n | |
插入运算 | O(n/2),最好情况为0,最坏情况为n | O(1),更优 | |
删除运算 | O([n-1]/2) | O(1),更优 |