① 数据结构-逻辑结构与物理结构
一般我们按照视点的不同,将数据结构分为【逻辑结构】和【物理结构】
分为以下四种:
在用示意图表示数据的逻辑结构时,要注意两点:
1,将每一个数据元素看做一个结点
2,元素之间的逻辑关系用结点之间的连线表示,如果这个关系是有方向的,那么用带箭头的连线表示
从上面可以看出,逻辑结构是针对具体问题的,是为了解决某个问题,在对问题的理解的基础上,选择一个合适数据结构表示数据元素之间的逻辑关系。
数据是数据元素的集合,那么根据物理结构的定义,实际上就是如何把数据元素存储到计算机的存储器中。存储器主要是针对‘内存’而言的。例如硬盘等外接存储器通常用“文件结构”来描述。
数据的存储结构应正确反映数据元素之间的逻辑关系,这才是最关键的,如何存储数据元素之间的逻辑关系,是实现物理结构的重点和难点。
数据元素的存储结构有两种:顺序存储和链式存储,
1,顺序存储结构
顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的
举例:例如计算机中的数组,当你建立一个数据时,计算机就会在计算机内存中找一片空地,创建一个连续的存储空间,依次放置存储数组中的数据。
2,链式存储结构
链式存储结构:是把数据元素存在任意存储单元里,这组存储单元是可以连续的,也可以是不连续的,数据元素的存储关系并不能反映其逻辑关系,因此需要用一个指针存放数据元素的地址。
在实际需求中,顺序存储结构是有局限的,例如医院的排队系统,挂号后总会有过号的,这时间需要重新插入
② 何谓数据的逻辑结构何谓数据的存储结构两者有何联系
逻辑结构指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。逻辑结构包括:
1、集合结构:数据结构中的元素之间除了“同属一个集合”
的相互关系外,别无其他关系。
2、线性结构:数据结构中的元素存在一对一的相互关系。
3、树形结构:数据结构中的元素存在一对多的相互关系。
4、图形结构:数据结构中的元素存在多对多的相互关系。
存储结构指数据元素连同其逻辑关系在存储器上的存放形式,主要的有四类:顺序、链接、索引、散列。一种数据结构可表示成一种或多种存储结构。
两者的关系在于:逻辑结构用于设计算法,存储结构用于算法编码实现。具体而言某种存储结构与某种逻辑结构没有必然的联系,算法的实现效率越高、解决问题越方便。
(2)键式存储结构扩展阅读
数据结构是指同一数据元素类中各数据元素之间存在的关系。数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。
数据的逻辑结构是从具体问题抽象出来的数学模型,是描述数据元素及其关系的数学特性的,有时就把逻辑结构简称为数据结构。逻辑结构是在计算机存储中的映像,形式地定义为(K,R)(或(D,S)),其中,K是数据元素的有限集,R是K上的关系的有限集。
根据数据元素间关系的不同特性,通常有下列四类基本的结构:集合结构、线性结构、树型结构、图形结构。
线性结构的特点是数据元素之间是一种线性关系,数据元素“一个接一个的排列”。在一个线性表中数据元素的类型是相同的,或者说线性表是由同一类型的数据元素构成的线性结构。
线性表是最简单、最基本、也是最常用的一种线性结构。
它有两种存储方法:顺序存储和链式存储,它的主要基本操作是插入、删除和检索等。
数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。它包括数据元素的表示和关系的表示。数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。
1、顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。
2、链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现
3、索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。
4、散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。
数据结构中,逻辑上(逻辑结构:数据元素之间的逻辑关系)可以把数据结构分成线性结构和非线性结构。
线性结构的顺序存储结构是一种顺序存取的存储结构,线性表的链式存储结构是一种随机存取的存储结构。线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。逻辑结构与数据元素本身的形式、内容、相对位置、所含结点个数都无关。
参考资料来源:搜狗网络:数据结构
③ 键值存储的四大要素
键值存储的四大基本要素是;数据,胡带悉计算机,顺序,链式。
键值(key)是windows中注册表中的概念。键值位于注册表结构链末端,和裤乎文件系统的文件类似,包含当前计算机及应用程序执行时使用的实际配置信息行早和数据。键值包含几种数据类型,以适应不同环境的使用需求。注册表中,是通过键和子键来管理各种信息。
④ 存储结构有哪几种
存储结构有:
1、链接存储:在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。
例:链。
2、顺序存储:在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。
例:数组,链猛烂。
3、索引存储:除建立存储结点信息外,还建立附加的索引表来做慧标识结点的地址,索引表由若干索引项组成。
例:线索树。
4、散列存储:散列存储,又称hash存储,是一种力图将数据元素的存储位置与关键码之间建立确定对应关系的查找技术。
例:栈(既可以通过顺序存储也可以同通过随机存储)。
顺序存储和链接存储的基本原理:
在顺序存储中,每个存储空间含有所存元素本身的信息,元素之间的逻辑关系是通过数组下标位置简单计算出来的线性表的顺序存储,若一个元素存储在对应数组中的下标位置为i,则它的前驱元素在对应数组中的下标位置为i-1,它的后继元素在对应数组中的下标位置为i+1。
在链式存储结构中,存储结点不仅含有所存元素本身的信息,而且含有元素之间逻辑关系的信息。
在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以纯知答访问元素的时间都相同。
而在数据的链接存储中,由于每个元素的存储位置保存在它的前驱或后继结点中,所以只有当访问到其前驱结点或后继结点后才能够按指针访问到,访问任一元素的时间与该元素结点在链式存储结构中的位置有关。
⑤ 计算机有哪些存储结构
在计算机中存储和组织数据的方式被称之为数据结构,链表和数组是较为常见的两种结构。
1、数组
数组就像一个个紧挨着的小格子,每一个格子都有它们自己的序号,这个序号被称之为“索引”。与生活中不太相同的是,平时计数习惯以“1”开始,而在计算机中,“0”是开头的第一个数字。
数组中的数据,在计算机的存储器中,也是按顺序存储在连续的位置中。当我们寻找需要的数据时,通过格子中的索引,便可以找到数据。
2、链表
链表的存储方式有些像地址和住宅的关系,地址可以写在一张纸上,但是这并不代表住宅也紧密相邻。链表中的数据在计算机中也是分散地存储在各个地方,但是链表里面除了存储数据,还存储了下一个数据的地址,以便于找到下一个数据。
与数组不同的是,链表储存数据不像数组一样,需要提前设定大小,就像火车的车厢长度是随着乘客的数量而增加的。
(5)键式存储结构扩展阅读
数据的链式存储结构可用链接表来表示。
其中data表示值域,用来存储节点的数值部分。Pl,p2,…,Pill(1n≥1)均为指针域,每个指针域为其对应的后继元素或前驱元素所在结点(以后简称为后继结点或前驱结点)的存储位置。
通过结点的指针域(又称为链域)可以访问到对应的后继结点或前驱结点,若一个结点中的某个指针域不需要指向其他结点,则令它的值为空(NULL)。
在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间都相同;而在数据的链接存储中。
由于每个元素的存储位置保存在它的前驱或后继结点中,所以只有当访问到其前驱结点或后继结点后才能够按指针访问到,访问任一元素的时间与该元素结点在链式存储结构中的位置有关。
⑥ 搞不懂逻辑结构和存储结构之间的关系。
存储结构是数据的逻辑结构在计算机中的表示。
逻辑结构:
系统的逻辑结构是对整个系统从思想的分类,把系统分成若干个逻辑单元,分别实现自己的功能。一般在系统开发时,逻辑结构往往都由架构师完成。系统的逻辑结构对系统的开发起到重要性的决定。
存储结构:
数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。数据的存储结构是指数据的逻辑结构在计算机中的表示。
(6)键式存储结构扩展阅读:
逻辑结构元素决定输入、存储、发送、处理和信息传递的基本操作功能,常将逻辑结构元素称为逻辑模块。逻辑结构元素可以是计算机操作系统、终端模块、通信程序模块等。
逻辑结构元素还可以是相关的几个逻辑模块联合起来的更复杂的实体。分析逻辑结构元素的相互作用,应考虑整个系统的操作,研究处理与信息流有关的进程,并决定系统的逻辑资源。
⑦ 北大青鸟设计培训:数据库存储结构都有哪些形式
数据库的存在对于任何一个软件的运行以及网站信息的存储都是非常有必要的。
但是并不是所有的存储方式都能满足需求,我们需要根据不同的情况进行调整。
下面IT培训http://www.kmbdqn.cn/就从案例分析的角度出发来了解一下,不同的数据库存储结构的优劣性。
从读/写工作负载平衡、一致性需求、延迟和访问模式等方面看,应用是各异的。
如果我们能对数据库和存储内部设施架构决策了然于胸,那么将有助于我们理解系统行为模式的原因所在,一旦在问题时能解决问题,并能根据工作负载调优数据库。
B树和LSM树结构上的大差别之一,在于优化的目的,以及优化的意义。
下面对B树和LSM树做一个对比。
总而言之,B树具有如下属性:B树是可变的,这支持通过引入一些空间开销,以及更为关联的写路径,实现就地更新。
B树并不需要完全的文件重写或多源合并。
B树是读优化的。
即B树不需要从多个源读取(因此也不需要此后的合并操作),这简化了读路径。
写可能会触发节点的级联分割,这会使一些写操作更昂贵。
B树是针对分页(块存储)环境优化的,其中不存在字节地址。
(blockstorage),.虽然也需要重写,但是通常情况下B树存储要比拦举旦LSM树存储需要更少的维护。
并发访问需要读/写隔离,其中一系列的锁和闩(latch)。
LSM树具有如下特性:LSM树是不可写的。
SSTable是一次性写入磁盘的,永不更新。
紧缩操作通过从多个数据文件移除条目,并合并具有相同键的数据,实现空间的整合。
在紧缩过程中,已合并的SSTable将被丢弃,并在成功合并后移除。
不可写提供的另一个有用特性,就是刷新后的表可并发访问。
LSM是写优化的。
这意味着写入操作将被缓存,并顺序地刷新到磁盘中,潜在地支持磁盘上的空间本地性。
读操作可能需要从多个数据源访问数据。
因为不同时间写入的具有相同键的数据,可能会落在不同的数据文件中。
记录在返回给客户前,必须答氏经过合并过程。
LSM树需要做维护和紧缩,因为缓存的写入操作将被刷简扰新到磁盘。