【技术实现步骤摘要】
一种基于双数组TRIE树的医疗数据空间分配方法和装置
[0001]本专利技术涉及医疗数据处理
,具体涉及一种基于双数组TRIE树的医疗数据空间分配方法和装置。
技术介绍
[0002]TRIE树(又叫前缀树)作为一种常见的数据结构,是词典、大规模关键字的一种重要索引结构,由于其查找效率很高,被广泛应用在大量的模式匹配业务中。其中,双数组TRIE树凭借其低资源占用,超高的执行效率被大量系统采用。
[0003]双数组TRIE树是由两个数组来表示一个TRIE树,双数组TRIE树结构由两个整型数组组成,如图 1 所示,其中一个为节点数组(又称Base 数组),另一个为检查数组(又称Check 数组),二者中的元素一一对应。Base 数组中的每一个元素相当于 TRIE 树中的一个节点,存储转移到其子节点的基值;Check 数组用于检查该子节点对应的父节点是哪一个节点,用于判断状态转移的正确性。
[0004]其中的元素通过ascii或unicode编码转换为int表示,比如,a = 97, b=98
ꢀ…ꢀ< ...
【技术保护点】
【技术特征摘要】
1.一种基于双数组TRIE树的医疗数据空间分配方法,其特征在于,所述方法包括以下步骤:获取构建TRIE树的所有节点信息,根据所述所有节点信息对字符频率进行逐一统计;按照所述字符频率的大小关系对所有字符进行倒序排列,生成字符码表;从所述字符码表进行字符映射,基于静态的双数组建树方法构建双数组TRIE树;当匹配字符时,根据所述字符码表查找确定所述字符是否在所述字符码表内,如果在所述字符码表内,判断所述字符在所述双数组TRIE树中,跳转到所述字符。2.根据权利要求1所述的基于双数组TRIE树的医疗数据空间分配方法,其特征在于,所述所有节点包括第一节点、第二节点和第三节点,所述基于静态的双数组建树方法构建双数组TRIE树的步骤,具体包括:将所述第一节点及其对应的子节点放置于所述双数组TRIE树内;将所述第二节点放置于所述双数组TRIE树内,所述第二节点的Check值为所述第一节点的Base索引值,所述第二节点的Base索引值为所述第二节点的后续节点计算偏移值的起始Base节点;将所述第三节点合并到所述双数组TRIE树中,所述第三节点的Base索引值为所述第三节点的子节点计算偏移值的起始Base节点。3.根据权利要求2所述的基于双数组TRIE树的医疗数据空间分配方法,其特征在于,所述方法还包括:按照广度优先策略将每个节点和所述每个节点直接对应的子节点作为一个分配单元,进行双数组TRIE树的构建;在计算所述节点的Base索引值时,表示出所述节点及其对应子节点的相对位置;将Base索引值为2的节点作为子节点偏移起始值进行计算,搜索并检查所述节点对应的所有子节点所占的位置是否为空闲空间;如果所有子节点所占的位置不都为空闲空间,跳转到下一Base索引值的节点,继续搜索并检查;直到所有子节点所占的位置都为空闲空间,将当前Base索引值作为当前节点的Base索引值,并更新到所述双数组TRIE树中。4.根据权利要求1所述的基于双数组TRIE树的医疗数据空间分配方法,其特征在于,所述方法还包括:当匹配字符时,根据所述字符码表查找确定所述字符是否在所述字符码表内,如果不在所述字符码表内, 判断所述字符不在所述双数组TRIE树中,跳转失败。5.一种基于双数组TRIE树的医疗数据空间分配装置,其特征在于,包括:获取统计模块,用于获取构建...
【专利技术属性】
技术研发人员:李丽,袁正航,王实,
申请(专利权)人:北京惠每云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。