CN109885733B - 针对目标生成树查询的图数据压缩方法及装置 - Google Patents
针对目标生成树查询的图数据压缩方法及装置 Download PDFInfo
- Publication number
- CN109885733B CN109885733B CN201910048119.9A CN201910048119A CN109885733B CN 109885733 B CN109885733 B CN 109885733B CN 201910048119 A CN201910048119 A CN 201910048119A CN 109885733 B CN109885733 B CN 109885733B
- Authority
- CN
- China
- Prior art keywords
- edges
- graph
- spanning tree
- queue
- subgraph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013144 data compression Methods 0.000 title claims abstract description 22
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000007906 compression Methods 0.000 abstract description 28
- 230000006835 compression Effects 0.000 abstract description 28
- 238000010586 diagram Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供针对目标生成树查询的图数据压缩方法及装置,方法包括:输入待压缩的图,包含结点、边和边的权值;初始化生成树覆盖子图(只包含待压缩的图中的结点、不包含待压缩的图中的边),在生成树覆盖子图上建立并查集存储连通块信息;将待压缩的图中所有边按权值预设顺序排序存入一个队列;遍历队列中所有权值为预设值的边,对于权值为预设值的所有边中任一边,判断边的端点是否在并查集中同一连通块中,若是则标记为树外边;将已遍历过的边移出队列加入生成树覆盖子图并维护并查集;在队列为空时删除待压缩的图中所有标记为树外边的边。可在保证原图中所有目标生成树被保留前提下删除所有树外边,减小存储图数据的空间消耗,实现压缩。
Description
技术领域
本发明实施例涉及图论及数据压缩技术领域,尤其涉及一种针对目标生成树查询的图数据压缩方法及装置。
背景技术
在互联网技术不断发展,网络应用的地位逐步提升,网络数据量快速增长的背景下,减少数据存储空间,提高数据读取速度,是当下许多大数据服务提升性能的关键。
目前,图数据已经被广泛应用于各类网络应用中。图数据是一种常见的大数据存储形式,常用于存储关系型数据,可以抽象为图论意义下由点和边构成的集合。然而,随着数据规模的不断发展,一个图数据中可能包括百万个甚至千万个结点,而这些结点之间也可能存在着千万条边以表示这些结点之间的关联关系,要存储并处理如此大规模的图数据是一个巨大的挑战。
鉴于此,如何对图数据进行无损压缩成为目前需要解决的技术问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种针对目标生成树查询的图数据压缩方法及装置。
本发明实施例提供一种针对目标生成树查询的图数据压缩方法,包括:
输入待压缩的图,所述图中包含结点、边和目标生成树查询所依赖的边的权值;
初始化生成树覆盖子图,初始化的生成树覆盖子图只包含所述待压缩的图中的结点、不包含所述待压缩的图中的边,并在所述生成树覆盖子图上建立并查集,所述并查集存储所述生成树覆盖子图内的连通块信息;
将所述待压缩的图中所有的边,按照权值的预设顺序进行排序,存入一个队列中;
遍历所述队列中所有权值为预设值的边,对于所述队列中所有权值为预设值的边中的任一边,判断所述边的端点是否在所述并查集中的同一连通块中,若是则将所述边标记为树外边;
将所述队列中已经遍历过的边移出所述队列,加入所述生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集;
判断所述队列是否为空,若是,则将所述待压缩的图中所有标记为树外边的边删除,输出删除树外边后压缩完毕的图。
本发明实施例提供一种针对目标生成树查询的图数据压缩装置,包括:
输入模块,用于输入待压缩的图,所述图中包含结点、边和目标生成树查询所依赖的边的权值;
初始化模块,用于初始化生成树覆盖子图,初始化的生成树覆盖子图只包含所述待压缩的图中的结点、不包含所述待压缩的图中的边,并在所述生成树覆盖子图上建立并查集,所述并查集存储所述生成树覆盖子图内的连通块信息;
排序模块,用于将所述待压缩的图中所有的边,按照权值的预设顺序进行排序,存入一个队列中;
遍历模块,用于遍历所述队列中所有权值为预设值的边,对于所述队列中所有权值为预设值的边中的任一边,判断所述边的端点是否在所述并查集中的同一连通块中,若是则将所述边标记为树外边;
加入模块,用于将所述队列中已经遍历过的边移出所述队列,加入所述生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集;
删除模块,用于判断所述队列是否为空,若是,则将所述待压缩的图中所有标记为树外边的边删除,输出删除树外边后压缩完毕的图。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法的步骤。
本发明实施例提供的针对目标生成树查询的图数据压缩方法及装置,通过输入待压缩的图,所述图中包含结点、边和目标生成树查询所依赖的边的权值,基于待压缩的图初始化生成树覆盖子图,初始化的生成树覆盖子图只包含待压缩的图中的结点、不包含待压缩的图中的边,并在生成树覆盖子图上建立并查集,并查集存储生成树覆盖子图内的连通块信息,将待压缩的图中所有的边按照权值的预设顺序进行排序,存入一个队列中,遍历队列中所有权值为预设值的边,对于队列中所有权值为预设值的边中的任一边,判断边的端点是否在并查集中的同一连通块中,若是则将所述边标记为树外边,将队列中已经遍历过的边移出队列加入生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集;判断所述队列是否为空,若是则将待压缩的图中所有标记为树外边的边删除,输出删除树外边后压缩完毕的图,由此,能够在保证原图中所有目标生成树被保留的前提下,删除所有的树外边,减小存储图数据的空间消耗,达到压缩的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种针对目标生成树查询的图数据压缩方法的流程示意图;
图2为本发明实施例提供的另一实施例提供的一种针对目标生成树查询的图数据压缩方法的流程示意图;
图3为本发明实施例提供的一种举例的待压缩的图;
图4为本发明本实施例对图3提供的待压缩的图的压缩中间过程中第一次考虑权值为1的边后得到的生成树覆盖子图;
图5为本发明实施例对图3提供的待压缩的图的压缩中间过程中第一次考虑权值为2的边后得到的生成树覆盖子图;
图6为本发明实施例对图3提供的待压缩的图的压缩中间过程中第一次考虑权值为3的边后得到的生成树覆盖子图;
图7为本发明实施例对图3提供的待压缩的图进行压缩完毕后的图;
图8为本发明一实施例提供的一种针对目标生成树查询的图数据压缩装置的结构示意图;
图9为本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明一实施例提供的一种针对目标生成树查询的图数据压缩方法的流程示意图,如图1所示,本实施例的针对目标生成树查询的图数据压缩方法,包括:
S1、输入待压缩的图,所述图中包含结点、边和目标生成树查询所依赖的边的权值。
在具体应用中,所述待压缩的图为无向图,可以有除最小生成树定义所需的边的权值以外的其它属性,如点权等,本实施例并不对其进行限制。
可以理解的是,本实施例的压缩对象是可以抽象为图的,有目标生成树查询需求的数据,图的边有实数表示的权值。
S2、初始化生成树覆盖子图,初始化的生成树覆盖子图只包含所述待压缩的图中的结点、不包含所述待压缩的图中的边,并在所述生成树覆盖子图上建立并查集,所述并查集存储所述生成树覆盖子图内的连通块信息。
S3、将所述待压缩的图中所有的边,按照权值的预设顺序进行排序,存入一个队列中。
S4、遍历所述队列中所有权值为预设值的边,对于所述队列中所有权值为预设值的边中的任一边,判断所述边的端点是否在所述并查集中的同一连通块中,若是则将所述边标记为树外边。
S5、将所述队列中已经遍历过的边移出所述队列,加入所述生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集。
S6、判断所述队列是否为空,若是,则将所述待压缩的图中所有标记为树外边的边删除,输出删除树外边后压缩完毕的图。
可以理解的是,本实施例所述方法是从图论角度达到数据压缩的目的,区别于对编码序列的压缩,压缩结果仍是一个图。本实施例所述方法是删除尽可能多的边,删除的树外边是唯一确定的且是最优的,不属于原图中任何一个目标生成树的边一定被删除,使用该方法操作一次可直接得到目标生成树意义下的最小等价图,不需要迭代。
本发明实施例提供的针对目标生成树查询的图数据压缩方法,通过输入待压缩的图,所述图中包含结点、边和目标生成树查询所依赖的边的权值,基于待压缩的图初始化生成树覆盖子图,初始化的生成树覆盖子图只包含待压缩的图中的结点、不包含待压缩的图中的边,并在生成树覆盖子图上建立并查集,并查集存储生成树覆盖子图内的连通块信息,将待压缩的图中所有的边按照权值的预设顺序进行排序,存入一个队列中,遍历队列中所有权值为预设值的边,对于队列中所有权值为预设值的边中的任一边,判断边的端点是否在并查集中的同一连通块中,若是则将所述边标记为树外边,将队列中已经遍历过的边移出队列加入生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集;判断所述队列是否为空,若是则将待压缩的图中所有标记为树外边的边删除,输出删除树外边后压缩完毕的图,由此,能够在保证原图中所有目标生成树被保留的前提下,删除所有的树外边,减小存储图数据的空间消耗,达到压缩的目的,且该压缩是无损压缩。
本实施例所述方法可以和绝大多数图数据压缩方法同时使用,从图论的角度针对目标生成树,使得压缩结果是和原图格式相同的图,对原图有效的其它压缩方法都能够在本实施例所述方法的输出结果上继续压缩。本实施例所述方法单独使用也可以有效减少总边数(实验结果显示约能减少30%~50%的边)从而减少数据存储所需的空间,同时在目标生成树查询等价的意义下,最大程度地简化了图。
进一步地,在上述实施例的基础上,可以参考图2,判断所述队列是否为空之后,所述方法还可以包括:
若所述队列不为空,则返回所述遍历所述队列中所有权值为预设值的边,对于所述队列中所有权值为预设值的边中的任一边,判断所述边的端点是否在所述并查集中的同一连通块中,若是则将所述边标记为树外边的步骤。
进一步地,在上述实施例的基础上,所述目标生成树,可以包括:最小生成树或最大生成树。
可以理解的是,最小生成树指图中所有的生成树中边的权值之和最小的生成树,最大生成树指图中所有的生成树中边的权值之和最大的生成树,生成树指一个包含原图所有结点且不含环的连通子图。其中,图的结点是有标记的,也就是任意两个结点都被视为不同的结点。
具体地,若所述目标生成树为最小生成树,则所述按照权值的预设顺序为按照权值由小到大,所述预设值为最小值。
由此,本实施例可以在保证原图中所有最小生成树被保留的前提下,删除所有的树外边,减小存储图数据的空间消耗,达到压缩的目的。
具体地,若所述目标生成树为最大生成树,则所述按照权值的预设顺序为按照权值由大到小,所述预设值为最大值。
由此,本实施例可以在保证原图中所有最大生成树被保留的前提下,删除所有的树外边,减小存储图数据的空间消耗,达到压缩的目的。
进一步地,在上述实施例的基础上,所述步骤S5中的“维护加入边之后的生成树覆盖子图上的并查集”,可以具体包括:
对于生成树覆盖子图中新加入的边,将每条新加入的边的两个端点在并查集中所属的集合进行合并。
由此,实现了维护加入边之后的生成树覆盖子图上的并查集。
下面以图3示出的一种举例的待压缩的图、所述目标生成树为最小生成树为例,对本实施例所述方法进行进一步说明。图3中给出了一个只有10个结点的待压缩图的简单样例,其中边的权值已在图中标出。
首先初始化生成树覆盖子图,初始时只包含点,所有的边都没有加入,各点之间均不连通。之后将所有的边从小到大排序,存入一个队列中。遍历所述队列中所有权值为最小值的边,判断每条边的端点是否在所述并查集中的同一连通块中,若是则标记为树外边。将所述队列中已经遍历过的边移出所述队列,加入所述生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集,合并连通块。
第一次考虑的是权值为1的边,因为此时生成树覆盖子图各点均不连通,这些边都不是树外边。之后这些边的加入生成树覆盖子图,如图4所示,图中的结点表示连通块,结点上的数字表示连通块所含的原图结点编号。
第二次考虑权值为2的所有边,在上一次产生的生成树覆盖子图上做出判断,从图4中可以看出,有一条权值为2的边(8,9)的端点在同一个连通块内,该边被标记为树外边,其它边保留。整体判断完成之后再将这些边加入生成树覆盖子图,结果如图5所示。
第三次考虑权值为3的所有边,从图5中可以看出,两条权值为3的边(2,5),(6,7)的端点在同一个连通块内,它们被标记为树外边,其它边保留。整体判断完成之后再将这些边加入生成树覆盖子图,结果如图6所示。
第四次考虑权值为4的所有边,从图6中可以看出,一条权值为4的边(2,3)的端点在同一个连通块内,该边被标记为树外边,其它边保留。整体判断完成之后再将这些边加入生成树覆盖子图,此时所有的边都已加入,循环终止。
最后由所有非树外边的边组成压缩后的图,作为压缩结果,如图7所示。
本发明实施例提供的针对目标生成树查询的图数据压缩方法,实现了在保证原图中所有目标生成树被保留的前提下,删除所有的树外边,减小存储图数据的空间消耗,达到压缩的目的,且该压缩是无损压缩。
图8示出了本发明一实施例提供的一种针对目标生成树查询的图数据压缩装置的结构示意图,如图8所示,本实施例的针对目标生成树查询的图数据压缩装置,包括:输入模块81、初始化模块82、排序模块83、遍历模块84、加入模块85和删除模块86;其中:
所述输入模块81,用于输入待压缩的图,所述图中包含结点、边和目标生成树查询所依赖的边的权值;
所述初始化模块82,用于初始化生成树覆盖子图,初始化的生成树覆盖子图只包含所述待压缩的图中的结点、不包含所述待压缩的图中的边,并在所述生成树覆盖子图上建立并查集,所述并查集存储所述生成树覆盖子图内的连通块信息;
所述排序模块83,用于将所述待压缩的图中所有的边,按照权值的预设顺序进行排序,存入一个队列中;
所述遍历模块84,用于遍历所述队列中所有权值为预设值的边,对于所述队列中所有权值为预设值的边中的任一边,判断所述边的端点是否在所述并查集中的同一连通块中,若是则将所述边标记为树外边;
所述加入模块85,用于将所述队列中已经遍历过的边移出所述队列,加入所述生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集;
所述删除模块86,用于判断所述队列是否为空,若是,则将所述待压缩的图中所有标记为树外边的边删除,输出删除树外边后压缩完毕的图。
具体地,所述输入模块81输入待压缩的图,所述图中包含结点、边和目标生成树查询所依赖的边的权值;所述初始化模块82初始化生成树覆盖子图,初始化的生成树覆盖子图只包含所述待压缩的图中的结点、不包含所述待压缩的图中的边,并在所述生成树覆盖子图上建立并查集,所述并查集存储所述生成树覆盖子图内的连通块信息;所述排序模块83将所述待压缩的图中所有的边,按照权值的预设顺序进行排序,存入一个队列中;所述遍历模块84遍历所述队列中所有权值为预设值的边,对于所述队列中所有权值为预设值的边中的任一边,判断所述边的端点是否在所述并查集中的同一连通块中,若是则将所述边标记为树外边;所述加入模块85将所述队列中已经遍历过的边移出所述队列,加入所述生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集;所述删除模块86判断所述队列是否为空,若是,则将所述待压缩的图中所有标记为树外边的边删除,输出删除树外边后压缩完毕的图。
在具体应用中,所述待压缩的图为无向图,可以有除最小生成树定义所需的边的权值以外的其它属性,如点权等,本实施例并不对其进行限制。
可以理解的是,本实施例的压缩对象是可以抽象为图的,有目标生成树查询需求的数据,图的边有实数表示的权值。
可以理解的是,本实施例是从图论角度达到数据压缩的目的,区别于对编码序列的压缩,压缩结果仍是一个图。本实施例删除尽可能多的边,删除的树外边是唯一确定的且是最优的,不属于原图中任何一个目标生成树的边一定被删除,使用本实施例所述装置操作一次可直接得到目标生成树意义下的最小等价图,不需要迭代。
本发明实施例提供的针对目标生成树查询的图数据压缩装置,能够在保证原图中所有目标生成树被保留的前提下,删除所有的树外边,减小存储图数据的空间消耗,达到压缩的目的,且该压缩是无损压缩。
本实施例所述装置可以和绝大多数图数据压缩方法同时使用,从图论的角度针对目标生成树,使得压缩结果是和原图格式相同的图,对原图有效的其它压缩方法都能够在本实施例所述装置的输出结果上继续压缩。本实施例所述装置单独使用也可以有效减少总边数(实验结果显示约能减少30%~50%的边)从而减少数据存储所需的空间,同时在目标生成树查询等价的意义下,最大程度地简化了图。
进一步地,在上述实施例的基础上,所述删除模块86,还可用于
判断所述队列是否为空之后,若所述队列不为空,则返回执行所述遍历模块84。
进一步地,在上述实施例的基础上,所述目标生成树,可以包括:最小生成树或最大生成树。
可以理解的是,最小生成树指图中所有的生成树中边的权值之和最小的生成树,最大生成树指图中所有的生成树中边的权值之和最大的生成树,生成树指一个包含原图所有结点且不含环的连通子图。其中,图的结点是有标记的,也就是任意两个结点都被视为不同的结点。
具体地,若所述目标生成树为最小生成树,则所述按照权值的预设顺序为按照权值由小到大,所述预设值为最小值。
由此,本实施例可以在保证原图中所有最小生成树被保留的前提下,删除所有的树外边,减小存储图数据的空间消耗,达到压缩的目的。
具体地,若所述目标生成树为最大生成树,则所述按照权值的预设顺序为按照权值由大到小,所述预设值为最大值。
由此,本实施例可以在保证原图中所有最大生成树被保留的前提下,删除所有的树外边,减小存储图数据的空间消耗,达到压缩的目的。
进一步地,在上述实施例的基础上,所述加入模块85可以对于生成树覆盖子图中新加入的边,将每条新加入的边的两个端点在并查集中所属的集合进行合并。
由此,实现了维护加入边之后的生成树覆盖子图上的并查集。
本发明实施例提供的针对目标生成树查询的图数据压缩装置,能够在保证原图中所有目标生成树被保留的前提下,删除所有的树外边,减小存储图数据的空间消耗,达到压缩的目的,且该压缩是无损压缩。
本发明实施例提供的针对目标生成树查询的图数据压缩装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9示出了本发明一实施例提供的一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括存储器902、处理器901及存储在存储器902上并可在处理器901上运行的计算机程序,所述处理器901执行所述程序时实现上述方法的步骤,例如包括:输入待压缩的图,所述图中包含结点、边和目标生成树查询所依赖的边的权值;初始化生成树覆盖子图,初始化的生成树覆盖子图只包含所述待压缩的图中的结点、不包含所述待压缩的图中的边,并在所述生成树覆盖子图上建立并查集,所述并查集存储所述生成树覆盖子图内的连通块信息;将所述待压缩的图中所有的边,按照权值的预设顺序进行排序,存入一个队列中;遍历所述队列中所有权值为预设值的边,对于所述队列中所有权值为预设值的边中的任一边,判断所述边的端点是否在所述并查集中的同一连通块中,若是则将所述边标记为树外边;将所述队列中已经遍历过的边移出所述队列,加入所述生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集;判断所述队列是否为空,若是,则将所述待压缩的图中所有标记为树外边的边删除,输出删除树外边后压缩完毕的图。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤,例如包括:输入待压缩的图,所述图中包含结点、边和目标生成树查询所依赖的边的权值;初始化生成树覆盖子图,初始化的生成树覆盖子图只包含所述待压缩的图中的结点、不包含所述待压缩的图中的边,并在所述生成树覆盖子图上建立并查集,所述并查集存储所述生成树覆盖子图内的连通块信息;将所述待压缩的图中所有的边,按照权值的预设顺序进行排序,存入一个队列中;遍历所述队列中所有权值为预设值的边,对于所述队列中所有权值为预设值的边中的任一边,判断所述边的端点是否在所述并查集中的同一连通块中,若是则将所述边标记为树外边;将所述队列中已经遍历过的边移出所述队列,加入所述生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集;判断所述队列是否为空,若是,则将所述待压缩的图中所有标记为树外边的边删除,输出删除树外边后压缩完毕的图。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种针对目标生成树查询的图数据压缩方法,其特征在于,包括:
输入待压缩的图,所述图中包含结点、边和目标生成树查询所依赖的边的权值;
初始化生成树覆盖子图,初始化的生成树覆盖子图只包含所述待压缩的图中的结点、不包含所述待压缩的图中的边,并在所述生成树覆盖子图上建立并查集,所述并查集存储所述生成树覆盖子图内的连通块信息;
将所述待压缩的图中所有的边,按照权值的预设顺序进行排序,存入一个队列中;
遍历所述队列中所有权值为预设值的边,对于所述队列中所有权值为预设值的边中的任一边,判断所述边的端点是否在所述并查集中的同一连通块中,若是则将所述边标记为树外边;
将所述队列中已经遍历过的边移出所述队列,加入所述生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集;
判断所述队列是否为空,若是,则将所述待压缩的图中所有标记为树外边的边删除,输出删除树外边后压缩完毕的图。
2.根据权利要求1所述的方法,其特征在于,在判断所述队列是否为空之后,所述方法还包括:
若所述队列不为空,则返回所述遍历所述队列中所有权值为预设值的边,对于所述队列中所有权值为预设值的边中的任一边,判断所述边的端点是否在所述并查集中的同一连通块中,若是则将所述边标记为树外边的步骤。
3.根据权利要求1所述的方法,其特征在于,所述维护加入边之后的生成树覆盖子图上的并查集,包括:
对于生成树覆盖子图中新加入的边,将每条新加入的边的两个端点在并查集中所属的集合进行合并。
4.根据权利要求1所述的方法,其特征在于,所述目标生成树,包括:最小生成树或最大生成树。
5.根据权利要求4所述的方法,其特征在于,若所述目标生成树为最小生成树,则所述按照权值的预设顺序为按照权值由小到大,所述预设值为最小值。
6.根据权利要求4所述的方法,其特征在于,若所述目标生成树为最大生成树,则所述按照权值的预设顺序为按照权值由大到小,所述预设值为最大值。
7.根据权利要求1所述的方法,其特征在于,所述待压缩的图为无向图。
8.一种针对目标生成树查询的图数据压缩装置,其特征在于,包括:
输入模块,用于输入待压缩的图,所述图中包含结点、边和目标生成树查询所依赖的边的权值;
初始化模块,用于初始化生成树覆盖子图,初始化的生成树覆盖子图只包含所述待压缩的图中的结点、不包含所述待压缩的图中的边,并在所述生成树覆盖子图上建立并查集,所述并查集存储所述生成树覆盖子图内的连通块信息;
排序模块,用于将所述待压缩的图中所有的边,按照权值的预设顺序进行排序,存入一个队列中;
遍历模块,用于遍历所述队列中所有权值为预设值的边,对于所述队列中所有权值为预设值的边中的任一边,判断所述边的端点是否在所述并查集中的同一连通块中,若是则将所述边标记为树外边;
加入模块,用于将所述队列中已经遍历过的边移出所述队列,加入所述生成树覆盖子图,并维护加入边之后的生成树覆盖子图上的并查集;
删除模块,用于判断所述队列是否为空,若是,则将所述待压缩的图中所有标记为树外边的边删除,输出删除树外边后压缩完毕的图。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910048119.9A CN109885733B (zh) | 2019-01-18 | 2019-01-18 | 针对目标生成树查询的图数据压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910048119.9A CN109885733B (zh) | 2019-01-18 | 2019-01-18 | 针对目标生成树查询的图数据压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109885733A CN109885733A (zh) | 2019-06-14 |
CN109885733B true CN109885733B (zh) | 2020-09-15 |
Family
ID=66926260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910048119.9A Active CN109885733B (zh) | 2019-01-18 | 2019-01-18 | 针对目标生成树查询的图数据压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109885733B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399902A (zh) * | 2013-07-23 | 2013-11-20 | 东北大学 | 一种并行环境下的有向图可达性链表生成及查询方法 |
CN104199825A (zh) * | 2014-07-23 | 2014-12-10 | 清华大学 | 一种信息查询方法和系统 |
CN104462288A (zh) * | 2014-11-27 | 2015-03-25 | 华为技术有限公司 | 一种路径相似度分析方法以及系统 |
CN107193896A (zh) * | 2017-05-09 | 2017-09-22 | 华中科技大学 | 一种基于簇的图数据划分方法 |
CN108009272A (zh) * | 2017-12-19 | 2018-05-08 | 西北工业大学 | 一种基于有向带权图的低空运动目标搜索方法 |
-
2019
- 2019-01-18 CN CN201910048119.9A patent/CN109885733B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399902A (zh) * | 2013-07-23 | 2013-11-20 | 东北大学 | 一种并行环境下的有向图可达性链表生成及查询方法 |
CN104199825A (zh) * | 2014-07-23 | 2014-12-10 | 清华大学 | 一种信息查询方法和系统 |
CN104462288A (zh) * | 2014-11-27 | 2015-03-25 | 华为技术有限公司 | 一种路径相似度分析方法以及系统 |
CN107193896A (zh) * | 2017-05-09 | 2017-09-22 | 华中科技大学 | 一种基于簇的图数据划分方法 |
CN108009272A (zh) * | 2017-12-19 | 2018-05-08 | 西北工业大学 | 一种基于有向带权图的低空运动目标搜索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109885733A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199375B (zh) | 跨模态的数据处理方法、装置、存储介质以及电子装置 | |
CN109684290B (zh) | 日志存储方法、装置、设备及计算机可读存储介质 | |
CN107291825A (zh) | 一种视频中同款商品的检索方法和系统 | |
WO2013028302A1 (en) | Fast matching of image features using multi-dimensional tree data structures | |
CN112434188A (zh) | 一种异构数据库的数据集成方法、装置及存储介质 | |
EP3955256A1 (en) | Non-redundant gene clustering method and system, and electronic device | |
CN112463784A (zh) | 数据去重方法、装置、设备及计算机可读存储介质 | |
CN112052413B (zh) | Url模糊匹配方法、装置和系统 | |
CN109120431B (zh) | 复杂网络中传播源选择的方法、装置及终端设备 | |
CN111666468A (zh) | 一种基于团簇属性在社交网络中搜索个性化影响力社区的方法 | |
CN106570166A (zh) | 一种基于多个局部敏感哈希表的视频检索方法及装置 | |
CN112069305B (zh) | 数据筛选方法、装置及电子设备 | |
CN102725754B (zh) | 一种索引数据处理方法及设备 | |
CN109885733B (zh) | 针对目标生成树查询的图数据压缩方法及装置 | |
CN109710633B (zh) | 中间人信息的确定方法、装置及智能终端 | |
CN107077481B (zh) | 信息处理装置、信息处理方法和计算机可读存储介质 | |
CN114443783B (zh) | 一种供应链数据分析和增强处理方法及装置 | |
CN107622201B (zh) | 一种抗加固的Android平台克隆应用程序快速检测方法 | |
CN106682107B (zh) | 数据库表关联关系确定方法及装置 | |
CN110825846B (zh) | 数据处理方法及装置 | |
CN110807092B (zh) | 数据处理方法及装置 | |
CN114036904A (zh) | 字典数据处理方法、装置、电子设备及存储介质 | |
CN104615605B (zh) | 用于预测数据对象的类目的方法和装置 | |
CN109815237B (zh) | 针对最短路的图数据冗余边识别方法、压缩方法及装置 | |
CN117828382B (zh) | 基于url的网络接口聚类方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |