[发明专利]一种稠密图邻接表压缩方法在审
| 申请号: | 201710909521.2 | 申请日: | 2017-09-29 |
| 公开(公告)号: | CN107564075A | 公开(公告)日: | 2018-01-09 |
| 发明(设计)人: | 李凤英;张琪;常亮;古天龙 | 申请(专利权)人: | 桂林电子科技大学 |
| 主分类号: | G06T9/00 | 分类号: | G06T9/00 |
| 代理公司: | 桂林市持衡专利商标事务所有限公司45107 | 代理人: | 陈跃琳 |
| 地址: | 541004 广西*** | 国省代码: | 广西;45 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 稠密 邻接 压缩 方法 | ||
1.一种稠密图邻接表压缩方法,其特征是,包括步骤如下:
步骤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…。
2.根据权利要求1所述的一种稠密图邻接表压缩方法,其特征是,在步骤5.1中,当找到不同的结点时,除了需要在参考出边表L中最后一个相同结点Vlast处标记“i”之外,还需要在参考出边表L的结点Vi处做一个特殊标记,来表示结点Vi的邻接结点是从参考出边表L中的结点Vi处开始计数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于桂林电子科技大学,未经桂林电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710909521.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有清洁功能的纺织设备
- 下一篇:一种纺织机纺织尘收集装置





