线性表及其定义:n个类型相同的有限序列,通常记做(a0,a1,......an-1)
1.相同数据类型:比如都是数字,或者都是字符,都是学生,都是商品。只能一类
相同的数据类型意味着在内存存储时,每个元素占用相同的空间,便于查询。
2序列(顺序性):在线性表的相邻元素之间存在着序偶关系。
唯表头无前驱,唯表尾无后继。除了表头和表尾,任何一个元素有且只有一个前驱一个后继。
3有限:线性表中元素个数默认为n,n有限。n=0时,线性表为空表。非空线性表每个元素都有唯一确定的序号。
线性表的顺序存储结构:
优点:节省存储空间,索引查找效率高。
缺点:插入和删除操作需要移动元素,效率低。
必须提前分配固定数量的空间,如果存储元素少,可能导致空间浪费。
按值查找效率低。
线性表的链式存储结构:
特点:数据元素对应的是不连续的存储空间,每个结点对应一个需要存储的元素,结点包括指针域和值域。逻辑关系由链接反应,逻辑上相邻的结点物理上不必相邻。
优点:1 插入和删除灵活,不必移动元素,只需要改变指针。
2 有元素才会开辟空间,不会浪费空间。
缺点:查找慢,存储密度低。
Java中哪些类用到了顺序表:
Vector(被ArrayList淘汰替换了):顺序表
ArrayList:顺序表
LinkedList:双向链表