[发明专利]基于十字双向链表存储有向图的方法及装置有效
申请号: | 201811566155.6 | 申请日: | 2018-12-20 |
公开(公告)号: | CN110046157B | 公开(公告)日: | 2023-06-20 |
发明(设计)人: | 王华 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/51 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁;周良玉 |
地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 十字 双向 存储 方法 装置 | ||
本说明书实施例提供一种基于十字双向链表存储有向图的方法,其中有向图包括多个顶点和至少一条有向边,其中包括第一有向边,且每条有向边对应一条边记录,所述方法包括:首先,将作为第一有向边起点的第一顶点存储为和作为第一有向边终点的第二顶点分别存储为第一边记录的第一数据项和第二数据项。接着,获取第一正向信息集,其中记录第一顶点,以及以第一顶点为起点的至少一条边;以及,获取第二逆向信息集,其中记录第二顶点,以及以第二顶点为终点的至少一条边。然后,基于上述信息集分别确定第一有向边的逆向后继指针、正向后继指针、逆向前驱指针和正向前驱指针,并对应存储为第一边记录的第三数据项、第四数据项、第五数据项和第六数据项。
技术领域
本说明书实施例涉及计算机技术领域,具体地,涉及一种存储有向图的方法及装置,以及在链表中删除数据记录的方法及装置。
背景技术
有向图具有多种存储结构,包括邻接矩阵,邻接表,逆邻接表和十字链表等。其中,十字链表可以看成是将有向图的邻接表和逆邻接表结合起来得到的。
然而,在需要对以上存储结构中的数据进行更改时,将消耗大量的计算资源。因此,针对有向图的存储,需要提供一种更加合理的存储结构,以快速、可靠地完成对其中数据的更改。
发明内容
本说明书针对现有技术中存在的上述缺陷,提供一种基于十字双向链表存储有向图的方法。
根据第一方面,提供一种基于十字双向链表存储有向图的方法,所述有向图包括多个顶点和至少一条有向边,每个顶点对应一条顶点记录,每个有向边对应一条边记录,所述至少一条有向边包括第一有向边,所述方法包括:获取作为所述第一有向边起点的第一顶点,并将所述第一顶点存储为第一边记录的第一数据项;获取作为所述第一有向边终点的第二顶点,并将所述第二顶点存储为所述第一边记录的第二数据项;获取第一正向信息集,其中包括顺序排列的多个信息项,分别记录所述第一顶点,以及以所述第一顶点为起点的至少一条边;获取第二逆向信息集,其中包括顺序排列的多个信息项,分别记录所述第二顶点,以及以所述第二顶点为终点的至少一条边;确定所述第一有向边的逆向后继指针,所述逆向后继指针指向所述第一有向边在所述第二逆向信息集中的下一个信息项,并将所述逆向后继指针存储为所述第一边记录的第三数据项;确定所述第一有向边的正向后继指针,所述正向后继指针指向所述第一有向边在所述第一正向信息集中的下一个信息项,并将所述正向后继指针存储为所述第一边记录的第四数据项;确定所述第一有向边的逆向前驱指针,所述逆向前驱指针指向所述第一有向边在所述第二逆向信息集中的上一个信息项,并将所述逆向前驱指针存储为所述第一边记录的第五数据项;确定所述第一有向边的正向前驱指针,所述正向前驱指针指向所述第一有向边在所述第一正向信息集中的上一个信息项,并将所述正向前驱指针存储为所述第一边记录的第六数据项。
根据第二方面,提供一种十字双向链表中边记录的删除方法,所述十字双向链表包括多条数据记录,所述多条数据记录包括顶点记录和边记录,所述顶点记录至少包括对应顶点的逆向后继指针和正向后继指针,所述边记录至少包括,对应边的逆向前驱指针、逆向后继指针、正向前驱指针和正向后继指针,所述方法包括:确定所述十字双向链表中待删除的第一边记录;基于所述第一边记录中的第一逆向前驱指针,确定所述第一逆向前驱指针所指向的第二数据记录;基于所述第一边记录中的第一逆向后继指针,确定所述第一逆向后继指针所指向的第三数据记录;将所述第二数据记录中的第二逆向后继指针由指向第一边记录修改为指向所述第三数据记录;基于所述第一边记录中的第一正向前驱指针,确定所述第一正向前驱指针所指向的第四数据记录;基于所述第一边记录中的第一正向后继指针,确定所述第一正向后继指针所指向的第五数据记录;将所述第四数据记录中的第四正向后继指针由指向第一边记录修改为指向第五数据记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811566155.6/2.html,转载请声明来源钻瓜专利网。