不借助于额外的存储空间
Ⅰ 数据结构:有序表和顺序表不一样吗
不一样。
有序表中的“有序”是逻辑意义上的有序,指表中的元素按某种规则已经排好了位置。
顺序表中的“顺序”是物理意义上的,指线形表中的元素一个接一个的存储在一片相邻的存储区域中,最典型的例子就是数组。
可以有这样描述:一个顺序表示的二叉树,或一个链接表示的二叉树;一个无序的线性表经过某种排序算法后形成有序表;甚至一个用顺序表表示的有序表等等。
数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。
(1)不借助于额外的存储空间扩展阅读:
数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。它包括数据元素的表示和关系的表示。数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。
顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。
链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。
Ⅱ 备份是干什么的
备份指将文件系统或数据库系统中的数据加以复制,一旦发生灾难或错误操作时,得以方便而及时地恢复系统的有效数据和正常运作。如果系统的硬件或存储媒体发生故障,“备份”工具可以帮助保护数据免受意外的损失,如,可以使用“备份”创建硬盘中数据的副本,然后将数据存储到其他存储设备。备份存储媒体既可以是逻辑驱动器(如硬盘)、独立的存储设备(如可移动磁盘),也可以是由自动转换器组织和控制的整个磁盘库或磁带库。如果硬盘上的原始数据被意外删除或覆盖,或因为硬盘故障而不能访问该数据,那么就可以十分方便的从存档副本中还原该数据。最好将重要数据制作三个或三个以上的备份,并且放置在不同的场所,以利日后回存之用。
Ⅲ 线性表的顺序存储结构是以什么来表示数据元素之间的逻辑关系的
线性表是最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。
线性表主要由顺序表示或链式表示。在实际应用中,常以栈、队列、字符串等特殊形式使用。
顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或顺序映像(sequential mapping)。它以“物理位置相邻”来表示线性表中数据元素间的逻辑关系,可随机存取表中任一元素。
由此得到的存储结构为顺序存储结构,通常顺序存储结构是借助于计算机程序设计语言(例如c/c++)的数组来描述的。
顺序存储结构的主要优点是节省存储空间,因为分配给数据的存储单元全用存放结点的数据(不考虑c/c++语言中数组需指定大小的情况),结点之间的逻辑关系没有占用额外的存储空间。
采用这种方法时,可实现对结点的随机存取,即每一个结点对应一个序号,由该序号可以直接计算出来结点的存储地址。但顺序存储方法的主要缺点是不便于修改,对结点的插入、删除运算时,可能要移动一系列的结点。
推荐课程:C语言教程。
线性表顺序存储结构的结构代码:
#define MAXSIZE 20
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int length; // 线性表当前长度
} SqList;
顺序存储结构封装需要三个属性:
存储空间的起始位置,数组data,它的存储位置就是线性表存储空间的存储位置。
线性表的最大存储容量:数组的长度MaxSize。
线性表的当前长度:length。
注意:数组的长度与线性表的当前长度需要区分一下:数组的长度是存放线性表的存储空间的总长度,一般初始化后不变。而线性表的当前长度是线性表中元素的个数,是会变化的。
线性表顺序存储结构的优缺点
线性表的顺序存储结构,在存、读数据时,不管是哪个位置,时间复杂度都是O(1)。而在插入或删除时,时间复杂度都是O(n)。
这就说明,它比较适合元素个数比较稳定,不经常插上和删除元素,而更多的操作是存取数据的应用。
优点:
无须为表示表中元素之间的逻辑关系而增加额外的存储空间。
可以快速地存取表中任意位置的元素。
缺点:
插上和删除操作需要移动大量元素。
当线性表长度变化较大时,难以确定存储空间的容量。
容易造成存储空间的“碎片”