[发明专利]一种稠密图邻接表压缩方法在审
| 申请号: | 201710909521.2 | 申请日: | 2017-09-29 |
| 公开(公告)号: | CN107564075A | 公开(公告)日: | 2018-01-09 |
| 发明(设计)人: | 李凤英;张琪;常亮;古天龙 | 申请(专利权)人: | 桂林电子科技大学 |
| 主分类号: | G06T9/00 | 分类号: | G06T9/00 |
| 代理公司: | 桂林市持衡专利商标事务所有限公司45107 | 代理人: | 陈跃琳 |
| 地址: | 541004 广西*** | 国省代码: | 广西;45 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开一种稠密图邻接表压缩方法,其引入了同时结合广度优先搜索和深度优先搜索进行结点编码的方法,依托于邻居集合的相似性与参考压缩,将后续出边表的建立借助于已构建完成的出边表,邻接表存储空间的压缩效率十分显著。此外,本发明公开的方法支持快速查询,由于未增加新的符号,查询时无需解压缩,因此查询效率大大增加。本发明基于图的邻接表表示形式上对数据进行无损压缩,尤其是针对稠密图,压缩效率更为显著。 | ||
| 搜索关键词: | 一种 稠密 邻接 压缩 方法 | ||
【主权项】:
一种稠密图邻接表压缩方法,其特征是,包括步骤如下:步骤1、使用广度优先搜索遍历整个图G的所有结点,从中找出出度最大的结点V,将该结点V的编码设置为0并存储在结点数组A的A[0]处;步骤2、以结点V为起始结点,使用深度优先搜索遍历整个图G,按照图G的深度优先搜索序依次为结点编码,并将结点编码依次存入结点数组A中;步骤3、建立结点V的初始出边表L0,并将出边表L0作为参考出边表L;步骤4、对于结点Vi,判断该结点Vi的编码i是否包含于参考出边表L中;若参考出边表L中包含结点Vi的编码i,则转至步骤5,若参考出边表L中不包含结点Vi的编码i,则转至步骤6;步骤5、将编码i与结点Vi的第一个邻接结点Vj的编码j进行比较;当i≤j时,转至步骤5.1;当i>j时,转至步骤5.2;步骤5.1、将结点Vi中从第一个邻接结点开始的结点编码与参考出边表L中从结点Vi开始的结点编码依次做比较;若有编码相同的结点,则继续比较,直到找到编码不同的结点或所有结点全部比较结束且编码相同为止;当找到编码不同的结点后,在参考出边表L中最后一个编码相同的结点Vlast处标记“i”;若始终没有编码相同的结点,则转至步骤6;步骤5.2、以结点Vj的出边表Lj中从第一个邻接结点开始的结点编码与结点Vi的出边表Li中从第二个邻接结点开始的结点编码依次做比较,直到找到不同的编码为止;若找到不同的编码且不同编码恰为i,则跳过该编码,分别取出边表Li和Lj的下一个编码继续比较,直到找到不同的编码且该不同编码不为i;当找到不同的编码且该不同编码不为i或所有编码均相同时,则直接在出边表Lj中最后一个相同结点Vlast处标记“i”;步骤6、依次以L1,L2…Li‑1替换为参考出边表L后,并转至步骤4,直到在某一出边表内标记“i”或在前i‑1个结点的出边表中都未能成功标记“i”时停止替换;当在某一出边表内成功标记“i”时,若结点Vi仍有不包含于该出边表的邻接结点,则将这些剩余邻接结点按照结点编码顺序,依次添加到结点Vi的后续链表中,构建成结点Vi的压缩出边表Li;当在前i‑1个结点的出边表中都未能成功标记“i”时,则直接将结点Vi的所有邻接结点按照结点编码顺序,依次添加到结点Vi的后续链表中,构建成结点Vi的压缩出边表Li;步骤7、将所有结点的压缩出边表建立完成后,将结点的出边表与结点数组A结合,以结点数组A中存储的元素即结点编码为表头,以拥有相同编码的结点的出边表作为后续链表,从而得到图G完整的压缩邻接表;上述i=0,1,2,3…;j=0,1,2,3…。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于桂林电子科技大学,未经桂林电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710909521.2/,转载请声明来源钻瓜专利网。
- 上一篇:一种具有清洁功能的纺织设备
- 下一篇:一种纺织机纺织尘收集装置





