[发明专利]一种基于树的高效集合运算系统有效
申请号: | 202110926100.7 | 申请日: | 2021-08-12 |
公开(公告)号: | CN113779319B | 公开(公告)日: | 2023-09-19 |
发明(设计)人: | 王一乐 | 申请(专利权)人: | 河海大学 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
代理公司: | 北京国坤专利代理事务所(普通合伙) 11491 | 代理人: | 赵红霞 |
地址: | 213022 江苏省常州市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 高效 集合 运算 系统 | ||
本发明公开了一种基于树的高效集合运算系统,包括底层算法模块,用于实现该运算系统功能涉及的基本数据结构;实际应用模块,用于将底层算法模块中的函数进行封装;可视化模块,通过调用easyx开源库实现可视化展示程序运行结果。本发明的有益效果是:实现了交、并、补、差、并查集5种基于树结构的集合运算,其中交、并、补、差操作是基于二叉链表存储结构的平衡二叉树(AVL)实现,并查集是基于顺序存储结构的逻辑树结构实现。在此基础之上,通过有向图结构对集合运算在社交网络中的实际应用进行模拟,从而对抽象数据结构的能够具有更为深入的理解。
技术领域
本发明涉及一种高效集合运算系统,具体为一种基于树的高效集合运算系统,属于树形数据结构研究技术领域。
背景技术
树形数据结构是一类重要的非线性数据结构。树形数据结构可以表示数据表素之间一对多的关系。其中以树与二叉树最为常用,直观看来,树是以分支关系定义的层次结构。树形数据结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树形数据结构来形象表示,在计算机科学中,树是一种抽象数据类型或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。
基于树的集合有交集、并集、补集、差集、并查集这五种,而对于这五种集合运算的数据结构却缺乏研究,针对各个合集之间如何进行划分,以实现提高合集运算的效率。
发明内容
本发明的目的就在于为了解决问题而提供一种基于树的高效集合运算系统。
本发明通过以下技术方案来实现上述目的:一种基于树的高效集合运算系统,包括
底层算法模块,用于实现该运算系统功能涉及的基本数据结构,且其包括
AVLTree,AVL二叉平衡树的数据结构的具体实现;
Set,其包括基于AVL二叉平衡树设计的高效集合的AVLSet以及基于顺序存储的逻辑树结构UFSet;
Orthogonal List,用于实现基于十字链表的有向图结构;
HashMap,实现哈希表功能,用于实现图中节点信息快速查找;
实际应用模块,用于将底层算法模块中的函数进行封装,其包括以下步骤
一、读取数据集并建立有向图;
二、建立哈希表;
三、读取某两个节点出度节点合集,所读取的节点为:共同好友,出度节点合集;二度好友,出度节点合集;熟悉度,出度节点交集元素个数或出度节点并集元素个数;朋友圈划分,出度节点并查集;
可视化模块,通过调用easyx开源库实现可视化展示程序运行结果。
作为本发明再进一步的方案:与所述AVLTree配套的操作有树的初始化AVLTree_init、创建AVLTree_create、销毁AVLTree_destroy、调整AVLTurn、查找AVLTree_search、插入AVLTree_insert、删除AVLTree_delete以及遍历AVLTree_traverse;
且AVLTree的数据结构代码为:
作为本发明再进一步的方案:与所述Set的AVLSet配套的操作有初始化AVLSet_init、创建AVLSet_create、销毁AVLSet_destroy、交集Intersectio、并集Union、补集Supplement以及差集Differance;
且AVLSet的数据结构代码为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河海大学,未经河海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110926100.7/2.html,转载请声明来源钻瓜专利网。