A. 顺序存储结构和链式存储结构的优缺点
存储空间
顺序存储结构是要求事先分配存储空间的,即静态分配,所以难以估计存储空间的大小。估计过大会造成浪费,估计太小又容易造成空间溢出。
而链式存储结构的存储空间是动态分配的,只要计算机内存空间还有空闲,就不会发生溢出。
另外还可以从存储密度的角度考虑,存储密度的定义公式为:一般来说,存储密度越大,存储空间的利用率就越高。
显然,顺序存储结构的存储密度为1,而链式存储结构的存储密度小于1。
运算时间
顺序表是一种顺序存储结构,对表中任一结点都可以在O(1)时间复杂度下直接访问;而访问链表中的某个结点时,必须从头指针开始沿着链表顺序查找,时间复杂度为O(n)。
链表顺序查找,时间复杂度为O(n)。
因此,如果对线性表的操作以查找为主,则采用顺序存储结构较好;若以插入、删除为主,则采用链式存储结构为宜。
B. 链表存储的优缺点分别是什么
1、空间上。顺序比链式节约空间。是因为链式结构每一个节点都有一个指针存储域;
2、存储操作上。顺序支持随机存取,方便操作;
3、插入和删除上。链式的要比顺序的方便(这句话是不能这么说的,因为插入的话顺序表也很方便,问题是顺序表的插入要执行更大的空间复杂度,包括一个从表头索引以及索引后的元素后移,而链表是索引后,插入就完成了)
C. 线性顺序存储结构和链式存储结构有什么区别
区别:
1、顺序存储需要开辟一个定长的空间,读写速度快,缺点不可扩充容量(如果要扩充需要开辟一个新的足够大的空间把原来的数据重写进去)。
2、链式存储无需担心容量问题,读写速度相对慢些,由于要存储下一个数据的地址所以需要的存储空间比顺序存储大。
D. 顺序存储结构和链式存储结构优缺点
顺序存储结构和链式存储结构的区别
链表存储结构的内存地址不一定是连续的,但顺序存储结构的内存地址一定是连续的;
链式存储适用于在较频繁地插入、删除、更新元素时,而顺序存储结构适用于频繁查询时使用。
顺序存储结构和链式存储结构的优缺点:
空间上
顺序比链式节约空间。是因为链式结构每一个节点都有一个指针存储域。
存储操作上:
顺序支持随机存取,方便操作
插入和删除上:
链式的要比顺序的方便(因为插入的话顺序表也很方便,问题是顺序表的插入要执行更大的空间复杂度,包括一个从表头索引以及索引后的元素后移,而链表是索引后,插入就完成了)
例如:当你在字典中查询一个字母j的时候,你可以选择两种方式,第一,顺序查询,从第一页依次查找直到查询到j。第二,索引查询,从字典的索引中,直接查出j的页数,直接找页数,或许是比顺序查询最快的。
E. 线性表链式存储结构的优点和缺点有什么
优点:插入和删除操作不需要移动大量元素,不需预先分配空s间,由系统应需求即时生成。
缺点:增加了内存负担,不可以随机存取数据元素。
线性表按链式存储时,每个数据元素 (结点)的存储包括数据区和指针区两个部分。数据区存放结点本身的数据,指针区存放其后继元素的地址只要知道该线性表的起始地址表中的各个元素就可通过其间的链接关系逐步找到。
(5)链式存储结构的优缺点是怎样的扩展阅读:
一个文件是存储在多个在空间上也许并不相连的簇中的。这就是链式存储。但是为了能够读取出这个文件,计算机会在该文件第一部分的尾部写上第二部分所在的簇号。第二部分的尾部又写上第三部分,以此类推,最后一部分写上一段代码,表示这是该文件的最后一部分。值得一提的是,高簇号在后。(如代码所示的1234实为簇3412)文件所占簇可认为是随机分配的。
F. 简述栈和队列的顺序存储结构和链式存储结构的优缺点
顺序栈--入栈操作受数组上界的约束有可能发生栈上溢,且需要地址连续的存储单元。
链栈--无须地址连续,便于多个栈共享存储单元,且不存在栈满上溢情况。
顺序队列--需地址连续且有假上溢现象(需改为循环队列才可解决假上溢)
链式队列--特别适合于数据元素变动比较大的情况,且不存在队列满而产生的溢出问题。
G. 线性表顺序存储结构和链式存储结构的优缺点(JAVA)
顺序存储需要开辟一个定长的空间,读写速度快,缺点不可扩充容量(如果要扩充需要开辟一个新的足够大的空间把原来的数据重写进去)
链式存储无需担心容量问题,读写速度相对慢些,由于要存储下一个数据的地址所以需要的存储空间比顺序存储大。
我感觉java数据结构没有c、c++来的重要。