数据结构
数据之间相互存在的一种或多种特定关系的元素结合。
数据对象中元素之间的相互关系:
1.集合结构;
2.线性结构;
3.树形结构;
4.图像结构;
物理结构(存储结构):
1.顺序存储结构;
2.链式存储结构;
数据类型:一组性质相同的值的集合及定义在此集合上的一些操作的总称
抽象数据类型:一个数字模型及定义在该模型上的一组操作
线性表(List)
线性表:a1是a2的前驱,ai+1是ai的后继,a1没有前驱,an没有后继,n为线性表的长度,若n=0时,线性表为空
顺序存储方式线性表:
存储位置连续,可以很方便计算各个元素的地址,如每个元素占C个存储单元
那么有:Loc(An)=Loc(An-1)+C,于是有:Loc(An)=Loc(A1)+(i-1)*C;Loc(A1):A1的内存地址
顺序线性存储有个特征:增删慢,查找快,你要在某个位置插入一个元素,这个位置之后的元素都得后移,这个开销是很大的。在Java中ArrayList就是采用的线性表,内部是用Object[