数据结构图存储结构
⑴ 数据结构都有哪些结构
1,集合:集合中的每一个数据元素都是相互独立的,这跟数学里的集合是一致的。(还记得数学里集合的三要素呢,无序性,互异性,确定性)
2,线性结构:数据之间是一对一的关系,我感觉就像是有一条线把数据元素穿了起来。不知道这样子理解对不对·····
3,树形结构:数据之间存在一对多的关系。是不是像一个大家庭,我们都有一个祖宗,然后生啊生啊,就有了很多下一代,下一代又生啊生,就又有很多下下一代······
4,图状结构或者网状结构:数据元素间是多对多的关系。
⑵ 在数据结构中,逻辑结构和存储结构之间的关系
存储结构是逻辑结构的存储映像,逻辑结构指的是数据间的关系,它又分为线性结构和非线性结构,这两者并不冲突。一个指的是数据之间的关系,而另一个指这种关系在计算机中的表现形式。两者的区别就在于给他们定义的特殊操作,它们都有”出“和”入“两种操作,一个是“先进先出”,而一个是“后进先出”。
一种逻辑结构在计算机里可以用不同的存储结构实现。比如逻辑结构中简单的线性结构,可以用数组(顺序存储)或单向链表(链接存储)来实现。逻辑结构:指各数据元素之间的逻辑关系。存储结构:就是数据的逻辑结构用计算机语言的实现。
(2)数据结构图存储结构扩展阅读:
1、逻辑结构
是指数据之间的相互关系。通常分为四类结构:
集合:结构中的数据元素除了同属于一种类型外,别无其它关系。
线性结构:结构中的数据元素之间存在一对一的关系。
树型结构:结构中的数据元素之间存在一对多的关系。
图状结构:结构中的数据元素之间存在多对多的关系。
2、存储结构
是指数据结构在计算机中的表示,又称为数据的物理结构。通常由四种基本的存储方法实现:
顺序存储方式。数据元素顺序存放,每个存储结点只含一个元素。存储位置反映数据元素间的逻辑关系。存储密度大。但有些操作(如插入、删除)效率较差。
数据元素间的逻辑关系。这种方式不要求存储空间连续,便于动态操作(如插入、删除等),但存储空间开销大(用于指针),另外不能折半查找等。
索引存储方式。除数据元素存储在一组地址连续的内存空间外,还需建立一个索引表,索引表中索引指示存储结点的存储位置(下标)或存储区间端点(下标)。
散列存储方式。通过散列函数和解决冲突的方法,将关键字散列在连续的有限的地址空间内,并将散列函数的值解释成关键字所在元素的存储地址。其特点是存取速度快,只能按关键字随机存取,不能顺序存取,也不能折半存取。
⑶ 图的存储结构是什么
由于图的结构比较复杂,任意两个顶点之间都可能存在关系(边),无法通过存储位置表示这种任意的逻辑关系,所以,图无法采用顺序存储结构。这一点同其他数据结构(如线性表、树)不同。考虑图的定义,图是由顶点和边组成的,所以,分别考虑如何存储顶点和边。图常用的存储结构有邻接矩阵、邻接表、十字链表和邻接多重表。
⑷ 数据的存储结构可以用什么和什么
数据的存储结构可以用集合、线性结构、树形结构和图形结构,具体如下:
(1)集合:数据结构中的元素之间除了“同属一个集合”的相互关系外,别无其他关系;
(2)线性结构:数据结构中的元素存在一对一的相互关系;
(3)树形结构:数据结构中的元素存在一对多的相互关系;
(4)图形结构:数据结构中的元素存在多对多的相互关系。
常用运算:
(1)检索。检索就是在数据结构里查找满足一定条件的节点。一般是给定一个某字段的值,找具有该字段值的节点。
(2)插入。往数据结构中增加新的节点。
(3)删除。把指定的结点从数据结构中去掉。
(4)更新。改变指定节点的一个或多个字段的值。
(5)排序。把节点按某种指定的顺序重新排列。例如递增或递减。
以上内容参考:网络-数据结构
⑸ 数据结构的存储方式有哪几种
数据结构的存储方式有顺序存储方法、链接存储方法、索引存储方法和散列存储方法这四种。
1、顺序存储方式:顺序存储方式就是在一块连续的存储区域一个接着一个的存放数据,把逻辑上相连的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接挂安息来体现。顺序存储方式也称为顺序存储结构,一般采用数组或者结构数组来描述。
2、链接存储方法:它比较灵活,其不要求逻辑上相邻的结点在物理位置上相邻,结点间的逻辑关系由附加的引用字段表示。一个结点的引用字段往往指导下一个结点的存放位置。链接存储方式也称为链接式存储结构,一般在原数据项中增加应用类型来表示结点之间的位置关系。
3、索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。它细分为两类:稠密索引:每个结点在索引表中都有一个索引项,索引项的地址指示结点所在的的存储位置;稀疏索引:一组结点在索引表中只对应一个索引项,索引项的地址指示一组结点的起始存储位置。
4、散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。
(5)数据结构图存储结构扩展阅读
顺序存储和链接存储的基本原理
在顺序存储中,每个存储空间含有所存元素本身的信息,元素之间的逻辑关系是通过数组下标位置简单计算出来的线性表的顺序存储,若一个元素存储在对应数组中的下标位置为i,则它的前驱元素在对应数组中的下标位置为i-1,它的后继元素在对应数组中的下标位置为i+1。
在链式存储结构中,存储结点不仅含有所存元素本身的信息,还含有元素之间逻辑关系的信息。数据的链式存储结构可用链接表来表示。其中data表示值域,用来存储节点的数值部分。Pl,p2,…,Pill(1n≥1)均为指针域,每个指针域为其对应的后继元素或前驱元素所在结点的存储位置。
在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间都相同;而在数据的链接存储中,由于每个元素的存储位置保存在它的前驱或后继结点中,所以只有当访问到其前驱结点或后继结点后才能够按指针访问到,访问任一元素的时间与该元素结点在链式存储结构中的位置有关。
⑹ 《数据结构》 常见的图的存储结构包括了哪些
矩阵,链表
⑺ 数据结构分为哪几种详细一点~~
数据结构分为数据的逻辑结构、数据的物理结构、数据的存储结构
1、数据的逻辑结构,指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。
2、数据的物理结构,指数据的逻辑结构在计算机存储空间的存放形式。数据的物理结构是数据结构在计算机中的表示(又称映像),它包括数据元素的机内表示和关系的机内表示。由于具体实现的方法有顺序、链接、索引、散列等多种,所以,一种数据结构可表示成一种或多种存储结构。
3、数据存储结构,在计算机存储空问中的存放形式称为数据的物理结构(也称为存储结构)。一般来说,一种数据结构的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序存储、链式存储、索引存储和哈希存储等。
(7)数据结构图存储结构扩展阅读:
逻辑结构元素决定输入、存储、发送、处理和信息传递的基本操作功能,常将逻辑结构元素称为逻辑模块。逻辑结构元素可以是计算机操作系统、终端模块、通信程序模块等。逻辑结构元素还可以是相关的几个逻辑模块联合起来的更复杂的实体。
分析逻辑结构元素的相互作用,应考虑整个系统的操作,研究处理与信息流有关的进程(操作系统中的一个概念,表示程序的一次执行),并决定系统的逻辑资源。
参考资料来源:网络——数据结构
⑻ 何谓数据的逻辑结构何谓数据的存储结构两者有何联系
逻辑结构指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。逻辑结构包括:
1、集合结构:数据结构中的元素之间除了“同属一个集合”
的相互关系外,别无其他关系。
2、线性结构:数据结构中的元素存在一对一的相互关系。
3、树形结构:数据结构中的元素存在一对多的相互关系。
4、图形结构:数据结构中的元素存在多对多的相互关系。
存储结构指数据元素连同其逻辑关系在存储器上的存放形式,主要的有四类:顺序、链接、索引、散列。一种数据结构可表示成一种或多种存储结构。
两者的关系在于:逻辑结构用于设计算法,存储结构用于算法编码实现。具体而言某种存储结构与某种逻辑结构没有必然的联系,算法的实现效率越高、解决问题越方便。
(8)数据结构图存储结构扩展阅读
数据结构是指同一数据元素类中各数据元素之间存在的关系。数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。
数据的逻辑结构是从具体问题抽象出来的数学模型,是描述数据元素及其关系的数学特性的,有时就把逻辑结构简称为数据结构。逻辑结构是在计算机存储中的映像,形式地定义为(K,R)(或(D,S)),其中,K是数据元素的有限集,R是K上的关系的有限集。
根据数据元素间关系的不同特性,通常有下列四类基本的结构:集合结构、线性结构、树型结构、图形结构。
线性结构的特点是数据元素之间是一种线性关系,数据元素“一个接一个的排列”。在一个线性表中数据元素的类型是相同的,或者说线性表是由同一类型的数据元素构成的线性结构。
线性表是最简单、最基本、也是最常用的一种线性结构。
它有两种存储方法:顺序存储和链式存储,它的主要基本操作是插入、删除和检索等。
数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。它包括数据元素的表示和关系的表示。数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。
1、顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。
2、链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现
3、索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。
4、散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。
数据结构中,逻辑上(逻辑结构:数据元素之间的逻辑关系)可以把数据结构分成线性结构和非线性结构。
线性结构的顺序存储结构是一种顺序存取的存储结构,线性表的链式存储结构是一种随机存取的存储结构。线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。逻辑结构与数据元素本身的形式、内容、相对位置、所含结点个数都无关。
参考资料来源:搜狗网络:数据结构
⑼ 图的存储结构
索引结构和hash结构
⑽ 关于数据结构中图的储存方式的选择
首先你要明白,邻接链表存图的空间复杂度与图中边的数量有关(O(N+E) E表示图中边的数目),而数组存图空间复杂度与点数有关(O(N^2)N表示点数)
看点的数量,如果点的数量不是很大(比如几百个左右或者更小)那么二者都可以选择。
如果点的数量过大的话,用数组存储稀疏图会造成大量的空间浪费,此时选择使用邻接表更好。