【技术实现步骤摘要】
一种树形结构的实现方法和装置所属
本专利技术涉及计算机应用领域,尤其涉及一种树形结构中数据的处理方法和系统。
技术介绍
在各种基于关系数据库的应用系统开发中,我们往往需要存储树型结构的数据。例如,在家庭学习顾问的padmall平台上,有网盘相关的功能。网盘功能的核心是文件夹和文件构成的树形结构及其相关增加、删除、修改、查找的操作。当前,在数据库中存储树形结构典型的4种方法为:邻接列表表示法(AdjacencyList)、物化路径表示法(PathEnumerations)、闭包表表示法(ClosureTable)、区间嵌套表示法(NestedSets)等。邻接表表示法是在原有数据信息的基础上增加一个记录当前节点的父节点ID的字段。该方法根据节点之间的继承关系,显现的描述某一节点的父节点,从而建立二位的关系表。然而要对某节点的子树、父路径做查找及删除时过程繁琐,均需要递归操作才能完成。而每次递归操作,数据库IO都会有时间开销。路径表示法需要记录当前节点到根节点的所有路径节点在一个数据实体上面,为了记录所有 ...
【技术保护点】
1.一种树形结构的实现方法,包括如下步骤:/n建立树型结构的数据库表,该数据库表包括识别码字段和路径值字段;/n在每个节点的识别码字段中设置一识别码;/n在每个节点的路径值字段中设置一路径值,根节点的路径值为其识别码,其他节点的路径值为该节点到根节点的所有路径节点的识别码的乘积;/n其特征在于,该识别码为不重复分配的素数。/n
【技术特征摘要】
1.一种树形结构的实现方法,包括如下步骤:
建立树型结构的数据库表,该数据库表包括识别码字段和路径值字段;
在每个节点的识别码字段中设置一识别码;
在每个节点的路径值字段中设置一路径值,根节点的路径值为其识别码,其他节点的路径值为该节点到根节点的所有路径节点的识别码的乘积;
其特征在于,该识别码为不重复分配的素数。
2.根据权利要求1所述的方法,其中,每个节点的路径值可分解为一组唯一的素数,该组素数分别为该节点到根节点的各路径节点的识别码,该组素数的个数为该节点的层级。
3.根据权利要求1或2所述的方法,其中,新增节点时,查找待增加节点的父节点的路径值,并为待增加节点分配识别码,基于待增加节点的父节点的路径值和为待增加节点分配的识别码计算待增加节点的路径值。
4.根据权利要求1-3中任一项所述的方法,其中,删除节点时,根据该节点的路径值,删除该节点及节点层级大于该节点,且节点的路径值可以整除该节点路径值的节点。
5.根据权利要求1-4中任一项所述的方法,其中,查找子树节点时,根据该节点的路径值,查找节点层级大于该节点,且节点的路径值可以整除该节点路径值的节点。
6.根据权利要求1-5中任一项所述的方法,其中,更改节点包括,
其中,更改节点包括,
步骤1,查找待更改节点及其子树节点的集合;
步骤2,查找待...
【专利技术属性】
技术研发人员:牛冬,孙桂勇,姚浩,方刚,
申请(专利权)人:北京世纪好未来教育科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。