[发明专利]一种基于红黑树的数据插入方法、装置及电子设备在审
申请号: | 202011539423.2 | 申请日: | 2020-12-23 |
公开(公告)号: | CN112559532A | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 阚志刚;李洋;卢佐华;陈彪;呂文昊 | 申请(专利权)人: | 北京梆梆安全科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2453 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 李潇 |
地址: | 100083 北京市海淀区学*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 红黑树 数据 插入 方法 装置 电子设备 | ||
本发明公开了一种基于红黑树的数据插入方法,用以解决现有技术中由于每次将数据插入空节点之前,均要先返回该节点的父节点,导致内存资源消耗较多的问题。该方法包括:确定待插入的目标数组,目标数组中包括至少两个目标数据;循环执行指定操作,直至n+1=N时终止循环执行指定操作,得到插入目标数组后的红黑树;对插入目标数组后的红黑树进行平衡调整,以满足标准红黑树的数据结构。本发明还公开一种基于红黑树的数据插入装置、电子设备及计算机可读存储介质。
技术领域
本发明涉及数据存储技术领域,尤其涉及一种基于红黑树的数据插入方法、装置及电子设备。
背景技术
红黑树是一种数据结构,也是一种自平衡二叉查找树,能够以O(logn)的时间复杂度对数据进行插入和删除操作,而且它的插入和删除操作最多只需要两次或者三次旋转即可保持树的平衡。
目前,为了保证对内存中的数据节点的高效查询和高效更新,通常可以采用红黑树的数据结构在内存中缓存数据节点,这样,当需要插入数据时,则可以申请内存,并在申请的内存中创建数据节点,具体地,如图1所示,当需要插入数据时,包括以下步骤:步骤1,判断红黑树的根节点是否为空;当根节点为空时,则执行步骤2:插入该数据,并将该数据所在位置设置为根节点;或者,当根节点为非空时则执行步骤3:将该节点设置为当前节点,并判断当前节点的子节点是否为空;步骤4,若当前节点的子节点为空时,则返回当前节点的父节点,以确定子节点的位置,进而将数据插入子节点;或者若当前节点的子节点为非空时,则执行步骤5比较待插入的数据和当前节点的值;若值相等,则执行步骤6更新当前节点的值,并设置节点为红色;若待插入数据小于当前节点,则执行步骤7继续向左子树查询,循环执行上述步骤3;若待插入数据大于当前节点,则执行步骤8继续向右子树查询,循环执行上述步骤3。
采用上述方式时,由于每次将数据插入空节点之前,均要先返回该节点的父节点,以便通过父节点确定该空节点的位置,而父节点在在系统中需要占用一定字节,这样,在待插入数据量较大的情况下,将会占用大量的内存空间。
发明内容
本发明实施例提供一种基于红黑树的数据插入方法,用以解决现有技术中由于每次将数据插入空节点之前,均要先返回该节点的父节点,导致内存资源消耗较多的问题。
本发明实施例还提供一种基于红黑树的数据插入装置,一种电子设备,以及一种计算机可读存储介质。
本发明实施例采用下述技术方案:
第一方面,本发明实施例提供一种基于红黑树的数据插入方法,包括:
确定待插入的目标数组,目标数组中包括至少两个待插入的目标数据;
循环执行指定操作,直至n=N时终止循环执行指定操作,得到插入目标数组后的红黑树;
指定操作包括:
按照目标数组中由小到大的顺序,依次从目标数组中获取序号为n的目标数据;其中,n表示目标数组中第n个目标数据的序号,n的取值范围为[1,2,…N],N表示目标数组中的最后一个目标数据的序号;
根据序号为n的目标数据在预设的红黑树中进行查找,以判断红黑树中是否存在与序号为n的目标数据相同的数据;其中,预设的红黑树为二叉排序树;
当红黑树中不存在与序号为n的目标数据相同的数据时,则基于序号为n的目标数据确定序号为n的目标数据的待插入位置,并将序号为n的目标数据插入待插入位置;
从目标数组中获取序号为n+1的目标数据,并根据序号为n的目标数据在预设的红黑树中进行查找,以判断红黑树中是否存在与序号为n+1的目标数据相同的数据;
当红黑树中不存在与序号为n+1的目标数据相同的数据时,则基于序号为n+1的目标数据确定序号为n+1的目标数据的待插入位置,并将序号为n+1的目标数据插入待插入位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京梆梆安全科技有限公司,未经北京梆梆安全科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011539423.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置