线性表空列表采用链表存储数据,是用线将数据串起来
原来的存储空间不仅仅是数据,还有新增数据的地址
- 顺序表
- 链表
链表链表分为数据区与节点区,数据区存储数据,链接区存储下一个数据的地址
- 单向链表
只有一个方向,尾部链接区为空
- 双向链表
实现两个数数值交换
a = 10 b = 20 a,b = b,a
- 这种数字交换仅仅在python中可以实现,在其它语言中不可以,其他语言a代表数值10的存储地址的别名,但是在python中,a为一块新的地址,其地址指向10的存储单元。
- 按照此思维,我们可更加大胆易写
Def f(): pass a = f
词条语句是把定义的函数给了a,a中存放定义的函数f的地址
int a = 10
链表与顺序表比较这是c语言,在c语言使用之前必须声明数值类型,因为a代表的是存储10这个数值的地址的别名。
双向链表链表可以实现跨内存存储,顺序表只能在一块区域存储。
链表比顺序表占用内存更大。
时间复杂度上面的比较
前驱节点
后继节点
-第一个节点前驱节点指向None,最后一个节点后继节点指向None,中间的各个节点前驱节点,后继节点相互指向。



