数据结构中存储和存取的区别

复习数据结构的时候遇到了这两个词,就想着记录一下,因为我起初有点混淆了emmm……

一、存取结构

存取偏向于“取”。
存取结构分为顺序存取随机存取

*顺序存取:不能通过下标访问,只能按照存储顺序存取,与存储位置有关,存取第n个数据时,必须先访问前(n-1)个数据,例如链表

*随机存取:可以理解为直接存取,可以通过下标直接访问,与存储位置无关,存取第n个数据时,不需要访问前(n-1)个数据,例如数组

二、存储结构

存储偏向于“存”。
存储结构分为顺序存储随机存储

*顺序存储:
在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。 顺序存储结构是存储结构类型中的一种,该结构是把逻辑上相邻的节点存储在物理位置上相邻的存储单元中,即逻辑结构与物理结构一致

顺序存储的优点:节省存储空间。

原因:分配给数据的存储单元都用来存放结点的数据,结点之间的逻辑关系没有占用额外的存储空间。采用这种方法时,可实现对结点的随机存取,即每一个结点对应一个序号,由该序号可以直接计算出来结点的存储地址。

顺序存储的缺点:不便于修改。 原因:对结点的插入、删除运算时,可能要移动一系列的结点。

*随机存储:

在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。

它不要求逻辑上相邻的元素在物理位置上也相邻。因此它没有顺序存储结构所具有的缺点,但也同时失去了顺序表可随机存取的优点。

随机存储最典型的代表为链式存储,它的特点是:

1、每个结点都由数据域和指针域组成。

2、存储密度小于1,比顺序存储结构小 (每个节点都由数据域和指针域组成,需要借助指针体现逻辑关系)。

3、逻辑上相邻的节点在物理上不必相邻。

4、插入、删除灵活 (不必移动节点,只要改变节点中的指针)。

5、查找结点时链式存储要比顺序存储慢。

你可能感兴趣的:(------C++------)