本笔记来源于B站王道考研
---------------------【第2章】线性表----------------------
2.1线性表的类型定义
2.2线性表的顺序表示和实现
- 逻辑顺序和物理顺序的区别是?
- 逻辑顺序:简单的说就像我们平常数数一样从1~n
- 物理顺序:就是计算机数数是0~n
2.3.1单链表的定义
原理:顺序表存储是将数据元素放到一块连续的内存存储空间,存取效率高,速度快。但是不可以动态增加长度
优点:存取速度高效,通过下标来直接存储
缺点:1.插入和删除比较慢,2.不可以增长长度
比如:插入或者删除一个元素时,整个表需要遍历移动元素来重新排一次顺序
原理:链表存储是在程序运行过程中动态的分配空间,只要存储器还有空间,就不会发生存储溢出问题
优点:插入和删除速度快,保留原有的物理顺序,比如:插入或者删除一个元素时,只需要改变指针指向即可
缺点:查找速度慢,因为查找时,需要循环链表访问
插入结点不可反操作
前插法和后插法可以相互转换但在给定结点后还是有区别的
特殊链表
静态链表一般用于没有指针的语言(用到了***数组***)—是一种理念
静态存储:你知道你要存储的数据的大小,即开多少空间已知,用顺序表。
动态存储:不知道有多少数据,需要动态开内存,用链式表。