数据的最基本存储结构

分类

数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构: 顺序存储结构链式存储结构
数据的 存储结构 是指数据的 逻辑结构 在计算机中的表示。
顺序存储方法它是把逻辑上相邻的结点存储在物理位置相邻的 存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为 顺序存储结构顺序存储结构是一种最基本的存储表示方法,通常借助于 程序设计语言中的 数组来实现。
顺序存储结构的主要优点是节省 存储空间,因为分配给数据的 存储单元全用存放结点的数据(不考虑c/c++语言中 数组需指定大小的情况),结点之间的逻辑关系没有占用额外的存储空间。采用这种方法时,可实现对结点的 随机存取,即每一个结点对应一个序号,由该序号可以直接计算出来结点的存储地址。但顺序存储方法的主要缺点是不便于修改,对结点的插入、删除运算时,可能要移动一系列的结点。
优点:随机存取表中元素。缺点:插入和删除操作需要移动元素。

链接存储 (链表)方法它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的 指针字段表示的。由此得到的存储表示称为 链式存储结构,链式存储结构通常借助于 程序设计语言中的 指针类型来实现。

链式存储结构特点:

1、比 顺序存储结构的存储密度小 (每个节点都由数据域和 指针域组成,所以相同空间内假设全存满的话顺序比链式存储更多)。
2、逻辑上相邻的节点物理上不必相邻。
3、插入、删除灵活 (不必移动节点,只要改变节点中的 指针)。
4、查找结点时链式存储要比顺序存储慢。
5、每个结点是由数据域和指针域组成。

顺序存储和链接存储的基本原理

顺序存储和链接存储是数据的两种 最基本的存储结构。
在顺序存储中,每个 存储空间含有所存元素本身的信息,元素之间的逻辑关系是通过 数组下标位置简单计算出来的 线性表的顺序存储,若一个元素存储在对应数组中的下标位置为i,则它的前驱元素在对应数组中的下标位置为i-1,它的后继元素在对应数组中的下标位置为i+1。在 链式存储结构中,存储结点不仅含有所存元素本身的信息,而且含有元素之间逻辑关系的信息。
数据的 链式存储结构可用链接表来表示。
其中data表示值域,用来存储 节点的数值部分。Pl,p2,…,Pill(1n≥1)均为 指针域,每个指针域为其对应的后继元素或前驱元素所在结点(以后简称为后继结点或前驱结点)的存储位置。通过结点的 指针域(又称为链域)可以访问到对应的后继结点或前驱结点,若一个结点中的某个指针域不需要指向其他结点,则令它的值为空(NULL)。
在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间都相同;而在数据的链接存储中,由于每个元素的存储位置保存在它的前驱或后继结点中,所以只有当访问到其前驱结点或后继结点后才能够按 指针访问到,访问任一元素的时间与该元素结点在 链式存储结构中的位置有关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值