顺序存储的优缺点
A. 顺序存储结构优点
顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须是连续的。优点是存储密度大(=1),存储空间利用率高。顺序表适宜于做查找这样的静态操作。
B. 线性表两种 存储结构各自的优缺点有哪些
线性表的链式存储结构:
优点:
插入和删除不需要移动插入时只需要对插入位置后的一个元素进行操作,不需要大量的移动元素。空间有效利用高。
缺点:
大量访问操作时不如顺序存储结构,因为每次都需要从头开始遍历整个线性表直到找到相应的元素为止。
线性表的顺序存储结构:
优点:
可随机存取表中任一元素。因为有下标可以操作可以快速的定位到指定位置的元素,但是不知道位置的话也需要顺序遍历。
缺点:
插入或删除操作时,需大量移动元素。合适在很少进行插入和删除运算的情况下。
(2)顺序存储的优缺点扩展阅读:
线性表的特征
集合中必存在唯一的一个“第一元素”。
集合中必存在唯一的一个 “最后元素” 。
除最后一个元素之外,均有唯一的后继(后件)。
除第一个元素之外,均有唯一的前驱(前件)。
线性表的基本操作
MakeEmpty(L) 这是一个将L变为空表的方法。
Length(L) 返回表L的长度,即表中元素个数。
Get(L,i) 这是一个函数,函数值为L中位置i处的元素(1≤i≤n)。
Prior(L,i) 取i的前驱元素。
Next(L,i) 取i的后继元素。
Locate(L,x) 这是一个函数,函数值为元素x在L中的位置。
Insert(L,i,x)在表L的位置i处插入元素x,将原占据位置i的元素及后面的元素都向后推一个位置。
Delete(L,p) 从表L中删除位置p处的元素。
IsEmpty(L) 如果表L为空表(长度为0)则返回true,否则返回false。
Clear(L)清除所有元素。
Init(L)同第一个,初始化线性表为空。
Traverse(L)遍历输出所有元素。
Find(L,x)查找并返回元素。
Update(L,x)修改元素。
Sort(L)对所有元素重新按给定的条件排序。
strstr(string1,string2)用于字符数组的求string1中出现string2的首地址。
参考资料来源:网络-线性表
C. 线性表顺序存储结构和链式存储结构的优缺点(JAVA)
从数据结构的角度来说顺序结构的存储空间固定,可扩展性差,但是如果数据元素个数已知,较链式存储节省空间。他的优点是随机读取任意一个元素(因为元素时顺序存储的,所以元素的存储位置之间有一定的关系)但是顺序存储的缺点是删除,插入操作需要花费很多时间在移动元素上。
对于链式存储而言,插入和删除元素开销小,操作简便。可扩展性强。
综上所述,如果元素个数已知,且插入删除较少的可以使用顺序结构,而对于频繁有插入删除操作,元素个数未知的,最好使用链式结构,编程时可结合要处理的数据的特点设计数据结构的。
D. 顺序存储结构和链式存储结构的优缺点
存储空间
顺序存储结构是要求事先分配存储空间的,即静态分配,所以难以估计存储空间的大小。估计过大会造成浪费,估计太小又容易造成空间溢出。
而链式存储结构的存储空间是动态分配的,只要计算机内存空间还有空闲,就不会发生溢出。
另外还可以从存储密度的角度考虑,存储密度的定义公式为:一般来说,存储密度越大,存储空间的利用率就越高。
显然,顺序存储结构的存储密度为1,而链式存储结构的存储密度小于1。
运算时间
顺序表是一种顺序存储结构,对表中任一结点都可以在O(1)时间复杂度下直接访问;而访问链表中的某个结点时,必须从头指针开始沿着链表顺序查找,时间复杂度为O(n)。
链表顺序查找,时间复杂度为O(n)。
因此,如果对线性表的操作以查找为主,则采用顺序存储结构较好;若以插入、删除为主,则采用链式存储结构为宜。
E. 线性顺序存储结构和链式存储结构的区别和优缺点
顺序存储结构就是用一组地址连续的存储单元依次存储该线性表中的各个元素。由于表中各个元素具有相同的属性,所以占用的存储空间相同。
线性表按链式存储时,每个数据元素 (结点)的存储包括数据区和指针区两个部分。数据区存放结点本身的数据,指针区存放其后继元素的地址只要知道该线性表的起始地址表中的各个元素就可通过其间的链接关系逐步找到。
优缺点
顺序存储需要开辟一个定长的空间,读写速度快,缺点不可扩充容量(如果要扩充需要开辟一个新的足够大的空间把原来的数据重写进去)。
链式存储无需担心容量问题,读写速度相对慢些,由于要存储下一个数据的地址所以需要的存储空间比顺序存储大。
F. 二叉树 两种存储结构的优缺点
顺序存储可能会浪费空间,但是读取某个指定的节点的时候效率比较高,链式存储相对二叉树比较大的时候浪费空间较少,但是读取某个指定节点的时候效率偏低O(nlogn)。
在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间都相同;而在数据的链接存储中,由于每个元素的存储位置保存在它的前驱或后继结点中,所以只有当访问到其前驱结点或后继结点后才能够按指针访问到。
(6)顺序存储的优缺点扩展阅读:
分类:
顺序存储方法它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。
链接存储方法它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。