【技术实现步骤摘要】
本专利技术一般地涉及数据结构领域,更具体地说,涉及一种改进型多路基数树(radix tree)以及有关方法。
技术介绍
计算机系统高速处理数据的能力部分取决于它们对文件分配表和数据库内的特定信息项进行快速的随机访问的能力。通过使这些表和数据库在存储介质上或存储器中具有某种组织形式,有助于对特定数据的快速访问。在数据库的情形下,上述组织形式通常包括将数据划分为若干记录,并把每条记录划分为多个字段。例如,每条记录可能对应于一个人,在这个人的记录当中,其中一个字段可以是这个人的名字,而另一个字段可以是这个人的地址。这种结构加速了对特定数据项的搜索,这是因为当多个字段位于各条记录的同一部分时,只搜索那些感兴趣的字段,而不必搜索整个记录。与一组记录有关联并被挑选出来用于搜索的特定字段有时被称为关键字字段,不过关键字可以是对一组记录进行搜索或排序所利用的任何项。例如,如果利用邮政编码对名字和地址的数据库进行搜索,那么邮政编码就是每条记录的关键字。每个关键字与相关联的记录之间通常具有某种链接,使得一旦发现了关键字,就可以找到相关联的记录。通过将关键字加载到计算机的存储器中,用电学方法组织并搜索关键字,就可以相当快地执行关键字搜索。可以对载入计算机系统的存储器中的关键字依次进行搜索。然而,有多种方案无需依次检查每个关键字就可以快速并有效地找到想要的关键字。一种促进关键字搜索的方案就是将关键字分批为多个组,并使用串函数来寻找哪一批次包含着正确的关键字。然后将正确的关键字从它的批次中提取出来。另一种搜索方案则是首先排序关键字,使得随后可以基于单个性质,而相对于其它关键字找 ...
【技术保护点】
一种方法,包括:向包括一串符号的关键字中的符号指派逻辑层号;以及至少部分地基于所述逻辑层号,而不是基于代表所述关键字中每个符号的节点之间的路径,在多路基数树的一个节点层中存储所述关键字的条目。
【技术特征摘要】
US 2002-1-8 10/043,7641.一种方法,包括向包括一串符号的关键字中的符号指派逻辑层号;以及至少部分地基于所述逻辑层号,而不是基于代表所述关键字中每个符号的节点之间的路径,在多路基数树的一个节点层中存储所述关键字的条目。2.如权利要求1所述的方法,其中,所述数据结构由多个节点层组成,这些节点层是根据指派给它们的逻辑层号的大小升序来排列的。3.如权利要求2所述的方法,其中,所述关键字中最少数量的符号被用来将该关键字与存储在所述树中的其它关键字区分开来,并且所述数据结构只具有用于所述关键字中某些符号的节点层,所述某些符号是用来将所述关键字与存储在所述树中的其它关键字区分开来的符号。4.如权利要求2所述的方法,其中,对所述关键字的搜索使用与所述关键字的长度相对应的逻辑层号来寻找存储所述关键字的节点层。5.一种方法,包括为了在存储器中存储关键字,建立树的根节点和第一层节点,其中每个关键字具有一串符号;建立一个指针,该指针从所述根节点指向所述第一层节点中与某个关键字的第一个符号相对应的节点;建立第二节点层,以在对应于所述关键字中最后一个符号的节点中存储所述关键字的条目;以及建立一个指针,该指针从所述第一层节点中对应于所述关键字中第一个符号的节点指向所述第二节点层中对应于所述关键字中最后一个符号的节点。6.如权利要求5所述的方法,还包括向用于所述第一节点层的逻辑层号指派与所述关键字中第一个符号相对应的、等于1的第一逻辑层值;并且向对应于所述关键字中的最后一个符号的所述第二节点层的逻辑层号指派等于n的第二逻辑层值,其中n等于所述关键字中符号的数量。7.如权利要求6所述的方法,其中,用于在与新关键字中最后一个符号相对应的节点中存储所述新关键字的条目的新节点层被添加到和/或插入到所述树中现有的节点层之间,在此过程中,根据逻辑层号的升序来依次排列所述树中的所有节点层。8.如权利要求7所述的方法,还包括当逻辑层号处在双亲节点层和孩子节点层的逻辑层号之间的节点层被插入到所述双亲节点层和孩子节点层之间时,重新设置存在于所述双亲节点层和孩子节点层之间的指针。9.如权利要求8所述的方法,其中,所述的重新设置包括当代表关键字中第一个符号和该关键字中最后一个符号的节点之间的逻辑层的数量改变时,维护代表所述关键字中各符号的节点之间的逻辑路径。10.一种方法,包括a)在被构建为多节点的树、由已存储的关键字条目组成的表中,确定与包括一串n个符号的关键字的长度相对应的逻辑层号;b)搜索所述树中的根节点,以找到指向与所述关键字中第一个符号相对应的节点的指针;c)搜索与所述关键字中第一个符号相对应的节点,以找到指向下一节点层的指针;d)确认所述下一节点层是否被指派了与所述关键字的长度相对应的逻辑层号;e)如果向所述下一节点层指派了所述逻辑层号,则在所述下一节点层中搜索所述关键字的条目;f)如果未向所述下一节点层指派与所述关键字的长度相对应的逻辑层号,则在所述下一节点层中搜索指向后续的下一节点层的指针;以及g)重复d-f步骤,直到发现了关键字条目之一、不再有指向后续节点层的指针、以及与所述关键字中的所有符号相对应的节点层都已被搜索。11.如权利要求10所述的方法,还包括如果所述关键字未被找到,则插入新的节点层以存储所述关键字,包括沿着第一指针从所述根节点到达与所述关键字中的第一个符号相对应的节点;搜索与所述关键字中第一个符号相对应的节点,以找到指向下一节点层的第二指针;如果所述第二指针不存在,则建立下一节点层,在与所述关键字中最后一个符号相对应...
【专利技术属性】
技术研发人员:阿尔沙纳尼赫鲁,马诺耶保罗,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。