一:链式存储结构和顺序存储结构的区别
区别在于:
1、链表存储结构的内存地址不一定是连续的,但顺序存储结构的内存地址一定是连续的;
2、链式存储适用于在较频繁地插入、删除、更新元素时,而顺序存储结构适用于频繁查询时使用。
二:线性结构的顺序存取是一种( )存储结构
随机存储结构指的是可以直接读取某一个位置。
如果是链表结构的话,就需要从头结点开始,遍历结点才能获得自己想要的结点。
而例川数组,可以直接通过下标直接定位到某个元素,而不需要从第一个元素开始慢慢遍历,这就是随机存储结构。
三:顺序存储和链式存储属于什么存储结构
一般,存储结构分为:顺序顺序存储结构和链式存储结构。
常见链式存储结构有:链表,树,图。
四:顺序存储方式只能用于存储线性结构吗?
不礌
顺序存储方式不仅能用于存储线性结构,还可以用来存放非线性结构,例如完全二叉树是属于非线性结构,但其最佳存储方式是顺序存储方式
五:线性顺序存储结构和链式存储结构有什么区别
定义
顺序存储结构就是用一组地址连续的存储单元依次存储该线性表中的各个元素。由于表中各个元素具有相同的属性,所以占用的存储空间相同。
线性表按链式存储时,每个数据元素 (结点)的存储包括数据区和指针区两个部分。数据区存放结点本身的数据,指针区存放其后继元素的地址只要知道该线性表的起始地址表中的各个元素就可通过其间的链接关系逐步找到
优缺点
顺序存储需要开辟一个定长的空间,读写速度快,缺点不可扩充容量(如果要扩充需要开辟一个新的足够大的空间把原来的数据重写进去)
链式存储无需担心容量问题,读写速度相对慢些,由于要存储下一个数据的地址所以需要的存储空间比顺序存储大。
六:顺序存储结构是通过什么表示元素之间的关系
顺序存储是用存储空间的位置来表示元素的关系
因此一般顺序存储只是存储数据元素,不需要另外的空间来存放元素的关系
七:C语言:为什么线性结构的顺序存储是一种随机存取存储结构?谢谢
顺序存储中,一般一个元素紧紧地挨着另外的一个元素,设序号为i 的元素的存储位置为Li,每个元素长度为d,则序号为j的元素的存储位置为Li + d(j - i),这个式子对所有元素序号(下标)都是一样的计算时间,也就是说,访问任何一个元素的时间都是相同的,因此是随机存取
当然,C语言中自然就是数组,一个接一个存放,结论一样的
八:线性表的顺序存储结构是随机存取的?
线性表的顺序存储结构可以通过线性表的首址加偏移的方法计算出礌第i个数据的位置a+i*sizeof(单个结构)而线性表的链式存储结构要访问第i个数据,就必须先访问前面的i-1个数据
九:所有的线性结构都可以采用顺序存储结构吗
呃~弄明白两个概念:存储结构和逻辑结构。主要的存储结构是顺序存储和链式存储(基本这两个就OK了)。而逻辑结构是指线性表(栈、队列属于线性表的范畴)、图、二叉树等概念。理论上所有的逻辑结构都可以用上面两种存储结构在计算机内实现(当然从效率、存储空间等方面考虑实际实现中不同的逻辑结构采用的存储结构会有所偏重)~举个类似的例子:汽车和内燃机,内燃机主要有汽油机和柴油机两类,汽车有卡车、轿车、客车等,理论上所有的汽车都可以用两种内燃机做动力,我可以说客车是汽车,客车既可以是汽油机驱动的汽车也可以有柴油机驱动的汽车。所以栈是线性表,但栈既可以用可以顺序存储实现也可以用链式存储实现。