比特序列检索装置、检索方法以及程序的制作方法

文档序号:6456994阅读:164来源:国知局
专利名称:比特序列检索装置、检索方法以及程序的制作方法
技术领域
本发明涉及使用存储比特序列的树状数据结构从比特序列的集合中 检索期望的比特序列的检索方法,特别涉及使用了本申请人在日本特愿
2006-187827中提出的配对节点树的比特序列检索装置、检索方法以及程 序。
背景技术
近年,社会的信息化不断发展,大规模的数据库在各处被利用起来。 为了从这种大规模的数据库中检索记录,通常是将与存储有各记录的地 址相对应的记录内的项目作为索引关键字来进行检索,检索出期望的记 录。并且,全文检索中的字符串也可视为文档的索引关键字。
而且,由于这些索引关键字利用比特序列来表达,因而数据库的检 索可归结于比特序列的检索。
为了高速进行上述比特序列的检索, 一直以来对存储比特序列的数 据结构进行了各种研究。作为这种研究之一,公知的是Patricia树这样的 树结构。
图1示出在上述现有的检索处理中使用的Patricia树的一例。Patricia 树的节点构成为包含索引关键字、检索关键字的检查比特位置、以及左 右的链接指针。虽未作明示,当然在节点内包含有用于对与索引关键字 对应的记录进行访问的信息。
在图1的例子中,保持索引关键字"100010"的节点1750a是根节点, 其检查比特位置1730a是0。节点1750a的左链接1740a与节点1750b连 接,右链接1741a与节点1750f连接。
节点1750b保持的索引关键字是"010011",检查比特位置1730b是1 。 节点1750b的左链接1740b与节点1750c连接,右链接1741b与节点1750d
ii连接。节点1750c保持的索引关键字是"000111",检査比特位置1730c是 3。节点1750d保持的索引关键字是"011010",检査比特位置1730d是2。
从节点1750c开始用实线连接的部分表示节点1750c的左右链接指 针,未进行虚线连接的左指针1740c表示该栏是空栏。进行了虚线连接 的右指针1741c的虚线的链接目的地表示指针所指示的地址,在这里表 示右指针1741c指向节点1750c。
节点1750d的右指针1741d指向节点1750d自身,左链接1740d与 节点1750e连接。节点1750e保持的索引关键字是"010010",检査比特位 置1730e是5。节点1750e的左指针1740e指向节点1750b,右指针1741e 指向节点1750e。
并且,节点1750f保持的索引关键字是"101011",检查比特位置1730f 是2。节点1750f的左链接1740f与节点1750g连接,右链接1741f与节 点1750h连接。
节点1750g保持的索引关键字是"100011",检查比特位置1730g是5。 节点1750g的左指针1740g指向节点1750a,右指针1741g指向节点 1750g。
节点1750h保持的索引关键字是"101100",检查比特位置1730h是3。 节点1750h的左指针1740h指向节点1750f,右指针1741h指向节点1750h。
在图1的例子中,形成这样的结构随着从根节点1750a开始对树 进行向下遍历,各节点的检查比特位置增大。
当使用某检索关键字进行检索时,从根节点开始依次检查由各节点 所保持的检索关键字的检查比特位置,判定检查比特位置的比特值是1 还是O,是l时搜索右链接,是O时搜索左链接。然后,当链接目的地节 点的检査比特位置不大于链接源节点的检查比特位置时,即,链接目的 地不是下方而是回到上方时(将图1中虚线所示的该后退的链接称为反 向链接),对链接目的地节点的索引关键字与检索关键字进行比较。能够 保证在比较结果是相同时检索成功,在比较结果是不相同时检索失败。
如上所述,在使用Patricia树的检索处理中,有以下等优点只通过 必要比特的检查即可进行检索,以及关键字全体的比较只需一次,然而具有以下等缺点由于必定有从各节点起的2个链接而使存储容量增大, 由于反向链接的存在而使判定处理复杂化,由于反向链接而返回、从开 头与索引关键字进行比较而造成的检索处理延迟以及追加删除等数据维 护困难。
作为解决Patricia树的这些缺点的技术,例如有下述专利文献1所公 开的技术。在下述专利文献l所记载的Patricia树中,通过在连续的区域 中存储下位的左右节点来削减指针的存储容量,并通过在各节点中设置 表示下一链接是否是反向链接的比特来减轻反向链接的判定处理。
然而,在下述专利文献l所公开的技术中,由于l个节点必定占据 索引关键字的区域和指针的区域,将下位的左右节点存储在连续的区域 中而采用1个指针,因而对于例如图1所示的Patricia树的最下段部分即 左指针1740c、右指针1741h等部分,也必须分配与节点相同容量的存储 区域,存储容量的削减效果不怎么好。并且,也没有改善反向链接引起 的检索处理的延迟问题,并且很难进行追加删除等处理。
专利文献l:日本特开2001-357070号公报
作为解决上述现有检索方法中的问题点的方案,本申请人在日本特 愿2006-187827中提出了使用配对节点树的比特序列检索,该配对节点 树是由根节点、和在相邻的存储区域中配置的分支节点和叶节点或者分 支节点之间或叶节点之间的节点对构成的比特序列检索用的树,根节点 是表示树的起点的节点,在该树的节点为一个时,根节点为叶节点,在 树的节点为两个以上时,根节点为所述分支节点,所述分支节点包含进 行比特序列检索的检索关键字的鉴别比特位置和表示链接目的地节点对 中的一个节点的位置的位置信息,所述叶节点包含由检索对象比特序列 构成的索引关键字。
在上述申请中,示出了根据给定的索引关键字的集合来生成配对节 点树的方法、以及从配对节点树检索单个索引关键字的方法等使用配对 节点树的基本检索方法。
并且,在比特序列的检索中,存在求出最小值、最大值或求出某个 范围的值等各种检索要求。因此,本申请人在日本特愿2006-293619中提出了求出配对节点树的任意部分树中包含的索引关键字的最大值/最小 值的方法等。
此外,本申请人在日本特愿2006-319407中提出了配对节点树的分 割/结合方法。
在上述三个申请中提出的检索方法是以下述操作为基础的,即从 检索开始节点开始依次搜索分支节点,直至叶节点,并求出叶节点中存 储的索引关键字。作为检索历史,即配置了从检索开始节点到叶节点的 节点的存储区域的地址信息,在堆栈中存储对该节点进行存储的数组元
素的数组序号。然后,在检索处理后的各种处理中进行下述处理以存
储在堆栈中的地址信息为基础,参照在该地址信息所示的存储区域中存 储的节点来取出鉴别比特位置。
作为上述地址信息,在将配对节点树存储在数组中的情况下,可以 采用该数组中的数组编号,可以削减表示地址信息的比特量,但是随着 配对节点树的规模变大,实际存储节点的地址范围也相应地变大,从而 在计算机上执行各种处理时引起缓存错误的可能性变高,可能会降低处 理效率。

发明内容
因此,本发明的目的是提供一种即使配对节点树的规模变大也可减 轻利用了配对节点树的处理的效率降低的方法。
根据本发明,在基本检索、最大值或最小值检索的检索处理中,在 存储检索历史的探索路径堆栈中,不仅存储配置了节点的存储区域的地 址信息,还存储在检索路径中搜索到的分支节点的鉴别比特位置。
另外,在对检索处理所搜索到的分支节点的鉴别比特位置进行搜索 的索引关键字插入及配对节点树分割结合处理中,从搜索路径堆桟中取 出鉴别比特位置。
根据本发明,当需要在检索处理中搜索到的节点的鉴别比特位置时, 该信息可以从存储检索历史的探索路径堆桟中获得,这样即使配对节点 树的规模变大,也能够减小缓存错误发生的可能性。
1

图1是示出以往的检索中使用的Patricia树的一例的图。 图2A是说明存储在数组中的配对节点树的结构例的图。 图2B是概念性示出配对节点树的树结构的图。 图3是说明用于实施本发明的硬件结构例的图。 图4A是示出本发明中的比特序列检索的基本动作的流程图。 图4B是利用配对节点树来说明本发明中的比特序列检索的基本动 作的图。
图5A是示出本发明中的作为插入处理前级的检索处理的处理流程的图。
图5B是说明准备用于待插入节点对的数组元素的处理的处理流程图。
图5C是示出求得插入节点对的位置并写入节点对的各节点的内容 以完成插入处理的处理流程的图。
图6是说明包含本发明中的根节点插入处理在内的、追加索引关键 字时的整个节点插入处理的处理流程图。
图7A是示出作为删除处理前级的检索处理的处理流程的图。
图7B是说明删除处理后级的处理流程的图。
图8是示出本发明的求取配对节点树中存储的索引关键字的最小值 的处理的流程图。
图9是利用配对节点树来说明本发明的求取索引关键字的最小值的 处理的图。
图10是示出本发明的求取配对节点树中存储的索引关键字的最大 值的处理的流程图。
图11是利用配对节点树来说明本发明的求取索引关键字的最大值 的处理的图。
图12是说明配对节点树的第1分割处理流程的图。 图13是说明配对节点树的第2分割处理流程的图。图14是说明第2分割处理中的节点插入处理流程的图。
图15A是说明第2分割处理中的根节点设定处理的流程图。 图15B是说明第2分割处理中的在父节点中插入包含插入关键字的 节点对的处理流程的图。
图16是说明第2分割处理中的删除处理的流程图。
具体实施例方式
首先,关于本申请人在之前的上述申请中提出的作为本发明前提的 配对节点树,说明将配对节点树存储在数组中的例子。分支节点保持的 表示链接目的地位置的数据也可以作为存储装置的地址信息,不过通过 使用由可存储分支节点或叶节点中的所占有区域的存储容量更大一方的 数组元素构成的数组,可以用数组编号来表示节点位置,这样可以削减 位置信息的信息量。
图2A是说明存储在数组中的配对节点树的结构例的图。
参照图2A,节点101配置在数组100的数组编号为10的数组元素 内。节点101由节点类别102、鉴别比特位置103以及代表节点编号104 构成。节点类别102是0,表示节点101是分支节点。在鉴别比特位置 103中存储有1。在代表节点编号104中存储有链接目的地节点对的代表 节点的数组编号20。另外,以下为了简化说明,有时把存储在代表节点 编号中的数组编号称为代表节点编号。并且,存储在代表节点编号中的 数组编号有时利用赋予给该节点的符号或赋予给节点对的符号来表示。
在数组编号20的数组元素中存储有节点对111的代表节点即节点
112。然后在相邻的下一数组元素(数组编号20+l)中存储有与代表 节点成对的节点[1]113。在节点
112的节点类别114中存储有0,在鉴 别比特位置115中存储有3,在代表节点编号116中存储有30。并且, 在节点[1]113的节点类别117中存储有1,表示节点[1]113是叶节点。在 索引关键字118中存储有"0001"。与之前针对Patricia树描述的一样,当 然在叶节点内包含有对与索引关键字对应的记录进行访问的信息,然而 省略说明。另外,有时用节点[O]表示代表节点,用节点[l]表示与其成对的节点。 此外,有时将存储在某个数组编号的数组元素中的节点称为该数组编号 的节点,将存储有节点的数组元素的数组编号称为节点的数组编号。
省略了由存储在数组编号30和31的数组元素中的节点122和节点 123构成的节点对121的内容。
分别赋予给存储有节点
112、节点[1]U3、节点122以及节点123 的数组元素的0或1表示在使用检索关键字进行检索的情况下链接到节 点对的哪个节点。链接到将位于前级的分支节点的鉴别比特位置上的检 索关键字的比特值0或1与代表节点编号相加所得到的数组编号的节点 上。
因此,通过将前级的分支节点的代表节点编号与检索关键字的鉴别 比特位置的比特值相加,可求出存储有链接目的地节点的数组元素的数 组编号。
另外,在上述例子中代表节点编号采用配置有节点对的数组编号中 的小的一方,然而显然也可采用大的一方。
图2B是概念性地示出配对节点树的树结构的图。图示的6比特的索 引关键字与图1所例示的Patricia树的索引关键字相同。
符号210a所示的是根节点。在图示的例子中,根节点210a作为配 置在数组编号220上的节点对201a的代表节点。
作为树结构,在根节点210a之下配置有节点对201b,在节点对201b 的下层配置有节点对201c和节点对201f,在节点对201f的下层配置有节 点对201h和节点对201g。在节点对201c之下配置有节点对201d,并在 节点对201d之下配置有节点对201e。
附在各节点前面的符号O或1与在图2A中所说明的附在数组元素前 面的符号相同。根据检索关键字的鉴别比特位置的比特值来搜索树,从 而找到检索对象叶节点。
在图示的例子中,根节点210a的节点类别260a是0,表示是分支节 点,鉴别比特位置230a示出为0。代表节点编号是220a,该编号是存储 了节点对201b的代表节点210b的数组元素的数组编号。节点对201b由节点210b和211b构成,它们的节点类别260b、 261b 都是0,表示是分支节点。在节点210b的鉴别比特位置230b上存储有1, 在链接目的地的代表节点编号中存储有存储了节点对201c的代表节点 210c的数组元素的数组编号220b。
由于在节点210c的节点类别260c中存储有1 ,因而该节点是叶节点, 因此包含索引关键字250c。在索引关键字250c中存储有"000111"。另一 方面,节点211c的节点类别261c是0,鉴别比特位置231c是2,在代表 节点编号中存储有存储了节点对201d的代表节点210d的数组元素的数 组编号221c。
节点210d的节点类别260d是0,鉴别比特位置230d是5,在代表 节点编号中存储有存储了节点对201e的代表节点210e的数组元素的数 组编号220d。与节点210d成对的节点211d的节点类别261d是1,在索 引关键字251d中存储有"011010"。
节点对201e的节点210e、 211e的节点类别260e、 261e都是l,表 示双方都是叶节点,在各自的索引关键字250e、 251e中存储有"010010" 和"010011"作为索引关键字。
在节点对201b的另一个节点即节点211b的鉴别比特位置231b中存 储有2,在链接目的地的代表节点编号中存储有存储了节点对201f的代 表节点210f的数组元素的数组编号221b。
节点对201f的节点210f、 211f的节点类别260f、 261f都是0,表示 双方都是分支节点。在各自的鉴别比特位置230f、 231f中存储有5、 3。 在节点210f的代表节点编号中存储有存储了节点对201g的代表节点 210g的数组元素的数组编号220f,在节点211f的代表节点编号中存储有 存储了节点对201h的代表节点即节点
210h的数组元素的数组编号 221 f。
节点对201g的节点210g、 211g的节点类别260g、 261g都是l,表 示双方都是叶节点,在各自的索引关键字250g、 251g中存储有"100010" 和"100011"。
并且同样,节点对201h的代表节点即节点
210h和与其成对的节点[l]211h的节点类别260h、 261h都是l,表示双方都是叶节点,在各自 的索引关键字250h、 251h中存储有"101011"和"101100"。
以下,简单说明从上述的树中检索索引关键字"100010"的处理流程。 鉴别比特位置从左起为O、 1、 2、...。
首先,将比特序列"100010"用作检索关键字,从根节点210a开始处 理。由于根节点210a的鉴别比特位置230a是0,因而当查看检索关键字 "100010"的鉴别比特位置0的比特值时是1。因此,链接到对存储有代表 节点编号的数组编号220a加上1后的数组编号的数组元素中存储的节点 211b。由于在节点211b的鉴别比特位置231b中存储有2,因而当查看检 索关键字"100010"的鉴别比特位置2的比特值时是0,因此链接到在存储 有代表节点编号的数组编号221b的数组元素中存储的节点210f。
由于在节点210f的鉴别比特位置230f中存储有5,因而当查看检索 关键字"100010"的鉴别比特位置5的比特值时是O,因此链接到在存储有 代表节点编号的数组编号220f的数组元素中存储的节点210g。
由于节点210g的节点类别260g是1,表示是叶节点,因而当读出 索引关键字250g并与检索关键字进行比较时,双方都是"100010",是一 致的。这样进行使用配对节点树的检索。
下面,参照图2B说明配对节点树的结构的意义。
配对节点树的结构是由索引关键字的集合规定的。在图2B的例子 中,根节点210a的鉴别比特位置是0,这是因为在图2B所例示的索引关 键字中有第0比特是0的索引关键字以及第0比特是1的索引关键字。 第0比特是0的索引关键字的组被分类在节点210b之下,第0比特是1 的索引关键字的组被分类在节点211b之下。
节点211b的鉴别比特位置是2,这反映了索引关键字集合的性质, 即存储在节点211h、 210h、 211g、 210g内的第0比特是l的索引关键 字的第1比特全都是0,从第2比特开始才有不同。
以下与第0比特的情况一样,第2比特是1的索引关键字被分类在 节点211f侧,第2比特是0的索引关键字被分类在节点210f侧。
然后,由于第2比特是1的索引关键字中存在第3比特不同的索引关键字,因而在节点211f的鉴别比特位置上存储3,由于在第2比特是0 的索引关键字中第3比特和第4比特均相同而第5比特不同,因而在节 点21 Of的鉴别比特位置中存储5 。
在节点211f的链接目的地中,由于第3比特是l的索引关键字和第 3比特是O的索引关键字分别只有一个,因而节点210h、 211h成为叶节 点,分别在索引关键字250h和251h中存储有"101011"和"101100"。
假设在索引关键字的集合内包含有"101101"或"101110"来取代 "101100",但是到第3比特为止与"101100"相等,因而只是存储在节点 211h内的索引关键字改变,树结构自身不会改变。然而,当除了"101100"
以外还包含有"ioiior时,节点2iih成为分支节点,其鉴别比特位置成
为5。当所追加的索引关键字是"101U0"时,鉴别比特位置为4。
如以上说明的那样,配对节点树的结构是由索引关键字集合中包含
的各索引关键字的各比特位置的比特值所决定的。
进而也可以说,对于成为不同比特值的每个比特位置,分支为比特
值是"1"的节点和比特值是"o"的节点,所以当使节点"1"侧和树的
深度方向优先来搜索叶节点时,在它们中存储的索引关键字成为节点
211h的索引关键字251h的"101100"、节点210h的索引关键字250h的 "101011"、…、节点210c的索引关键字250c的"000111",并以降序的 方式排序。
即,在配对节点树中,对索引关键字进行排序并将其配置在树上。 当利用检索关键字进行检索时,搜索在配对节点树上配置了索引关 键字的根,例如,如果检索关键字是"101100",则可到达节点211h。并 且,根据上述说明还可以想到,即使在将"101101"或"101110"作为 检索关键字的情况下,也可以搜索到节点211h,通过与索引关键字251h 进行比较可知晓检索失败。
并且,例如在利用"100100"进行检索的情况下,在节点210a、211b、 210f的链接路径上不使用检索关键字的第3比特和第4比特、并且由于 "100100"的第5比特是0,所以与利用"100010"进行检索的情况同样, 到达节点210g。这样,使用与存储在配对节点树中的索引关键字的比特结构对应的鉴别比特位置来进行分支。
图3是说明用于实施本发明的硬件结构例的图。
本发明的检索装置的检索处理和数据维护是通过数据处理装置301 使用数据存储装置308来实施的,该数据处理装置301至少具有中央处 理装置302和缓存303。数据存储装置308具有对配对节点树进行配置的 数组309和搜索路径堆栈310,该搜索路径堆栈310存储对在检索中搜索 到的节点进行存储的数组元素的数组编号之外,还存储节点内的信息。 该数据存储装置308可以利用主存储装置305或外部存储装置306来实 现,或者还可以使用经由通信装置307而连接的配置在远方的装置。
在图3的例示中,主存储装置305、外部存储装置306以及通信装 置307通过一根总线304与数据处理装置301连接,不过连接方法不仅 限于此。另外,还可以使主存储装置305在数据处理装置301内,或可 以将搜索路径堆栈310实现为中央处理装置302内的硬件。或者,显然 可以根据可使用的硬件环境、索引关键字集合的大小等,选择适当的硬 件结构,例如,使数组309在外部存储装置306内、使搜索路径堆栈310 在主存储装置305内等。
并且,尽管未作特别图示,为了能在后面的处理中使用处理中途所 获得的各种值,当然可以使用与各个处理对应的临时存储装置。
接着,说明利用了在上述申请中由本申请人提出的以下处理的本发 明采用了配对节点树的基本检索处理、配对节点树中的插入删除处理、 求得配对节点树所包含的索引关键字的最大值/最小值的处理等应用处 理、以及在配对节点树的分割/结合处理中,在存储检索历史的堆栈中不 仅存储配置节点的存储区域的地址信息,还存储在各种处理中釆用的分 支节点的鉴别比特位置。
图4A是示出本发明的比特序列检索的基本动作的流程图。图4A所 示的流程图是在本申请人申请的上述日本特愿2006-293619所提出的表 示比特序列检索的基本动作的流程图中追加了在搜索路径堆栈310中存 储鉴别比特位置的步骤S406a的处理。
首先,在步骤S401中取得检索开始节点的数组编号。与取得的数组编号对应的数组元素存储有构成配对节点树的任意节点。在后面说明的 各种应用检索中对检索开始节点进行指定。
接着,在步骤S402中,在搜索路径堆栈310中存储所取得的数组编 号,在步骤S403中,将与该数组编号对应的数组元素作为应该参照的节 点进行读出。然后,在步骤S404中,从读出的节点中取出节点类别,在 步骤S405中,判定节点类别是否是分支节点。
在步骤S405的判定中,当读出的节点是分支节点时,进入步骤S406, 从节点中取出关于鉴别比特位置的信息。
接着在步骤S406a中,将步骤S406所取出的鉴别比特位置存储在搜 索路径堆栈310中,并且在步骤S407,从检索关键字中取出与取出的鉴 别比特位置对应的比特值。然后,在步骤S408,从节点中取出代表节点 编号,在步骤S409,将从检索关键字取出的比特值与代表节点编号相加, 得到新的数组编号,然后返回步骤S402。
此后,在步骤S405的判定中判定为叶节点而进入步骤S410之前, 重复从步骤S402到步骤S409的处理。在步骤S410中,从叶节点中取出 索引关键字,结束处理。
图4B是通过图2B所例示的配对节点树来说明图4A的流程图所示 的本实施方式的比特序列检索的基本动作的图。
在图4B中示出了配对节点树、检索关键字设定区域270以及搜索路 径堆栈310。以下,采用图4B来说明在配对节点树上所参照的节点以及 搜索路径堆栈310的状态。
另外,在图4B中针对图2B所示的配对节点树,仅示出用于说明图 4A的处理所需的一部分,并省略其余的节点(代表节点编号221b以下的 节点)。在以下的说明中,对于用于说明在配对节点树上参照的节点的附 图也是同样的。
首先,设定数组编号220作为开始检索的节点的数组编号。此时, 把对应的数组编号220压入(push)搜索路径堆栈310,并且参照数组元 素的各种信息。
根据存储在数组中的信息识别为数组编号220的节点是分支节点而没有存储索引关键字时,进一步参照在该数组编号220的数组中存储的
信息(代表节点编号及鉴别比特位置)等,来算出下一个应该参照的数组编 号。
这里,首先将数组编号220存储在搜索路径堆栈310中,从数组编 号220的节点210a中取出节点类别260a。取出的节点类别260a如图所 示为"O",表示节点210a为分支节点,因此从节点210a取出鉴别比特位 置230a的值"O",并与数组编号220 —起存储在搜索路径堆栈310中。
此外,取出检索关键字设定区域270的检索关键字"011010"中的鉴 别比特位置O的比特值"O"。然后,取出在节点210a中存储的代表节点编 号220a的值,与先前从检索关键字的鉴别比特位置取出的比特值"O"相 加,将相加得到的数组编号220a存储在搜索路径堆栈310中。
接着,当从数组编号220a的节点中读出节点类别260b时,判定数 组编号220a的节点210b是分支节点,在搜索路径堆栈310中存储节点 210b的鉴别比特位置230b的值"1",从检索关键字"011010"取出与鉴别 比特位置l对应的比特值,值是"r'。因此,将节点210b的代表节点编号 220b与得到的比特值"r相加,在搜索路径堆栈310中存储220b+l。
从数组编号(220b+l)的节点2Uc读出的节点类别261c表示分支节 点,所以将节点211c的鉴别比特位置231c的值"2"存储在搜索路径堆栈 310中,从检索关键字"011010"中取出与鉴别比特位置2对应的比特值时, 值为"r。将节点211c的代表节点编号221c与得到的比特值"l"相加后得 到的值221c+l存储在搜索路径堆栈310中。
当从数组编号(221c+l)的节点21 ld中取出节点类别261d时可知,节 点211d是叶节点。因此,从节点211d中取出索引关键字"011010",并结 束处理。
这样,执行依次参照检索关键字的比特信息和各节点的信息的链接 处理,由此在搜索路径堆栈310中,按照链接顺序压入从作为检索开始 节点的节点210a的数组编号220到叶节点21 ld的数组编号(221c+l)、和 从节点210a的鉴别比特位置230a到节点221c的鉴别比特位置23lc的信息。接着,禾拥图5A 图5C、图6来说明本发明的配对节点树中的节 点插入处理。图5A 图5C用于说明常规的插入处理,图6用于说明根 节点的插入处理。利用根节点的插入处理和常规的插入处理,可生成配 对节点树,所以节点插入处理的说明也是配对节点树的生成处理的说明。
图5A是示出作为插入处理前级的检索处理的处理流程的图,相当于 在图4A所示的检索处理中将插入关键字作为检索关键字。步骤S501相 当于在图4A的步骤S401中将检索开始节点作为根节点,步骤S502至步 骤S510的处理与图4A的步骤S402至步骤S410完全对应,所以省略说 明。
在图5A的步骤S511中对插入关键字与索引关键字进行比较,如果 等同,则插入关键字已经存在于配对节点树中,所以插入失败,结束处 理。如果不等同,则进入下一处理,即图5B的步骤S512以下的处理。
图5B是说明准备用于待插入节点对的数组元素的处理的处理流程图。
在步骤S512中,从数组求得空的节点对,取得该节点对中的应成为 代表节点的数组元素的数组编号。
进到步骤S513,对插入关键字与在步骤S510所得到的索引关键字 的大小进行比较,当插入关键字大时得到值为1的布尔值、当插入关键 字小时得到值为0的布尔值。
进到步骤S514,取得将步骤S512所得到的代表节点的数组编号与 步骤S513所得到的布尔值相加得到的数组编号。
进到步骤S515,取得将步骤S512所得到的代表节点的数组编号与 步骤S513所得到的布尔值的逻辑反转值相加得到的数组编号。
步骤S514所得到的数组编号是存储有将插入关键字作为索引关键 字的叶节点的数组元素的数组编号,步骤S515所得到的数组编号是存储 了与该叶节点成对的分支节点的数组元素的数组编号。
艮P,根据在前级的检索处理中得到的叶节点中存储的索引关键字和 插入关键字的大小,决定在插入的节点对中的哪个节点中存储保持插入 关键字的叶节点。例如在图2B的配对节点树内插入"011011"的情况下,检索结果的索 引关键字为存储在节点211d中的"011010"。通过插入关键字"011011"与 存储在节点211d中的索引关键字"011010"的大小比较来求出布尔值,在 这里的例子中由于插入关键字大,因而得到布尔值l,在插入节点对的代 表节点编号加1得到的数组元素中,存储保持插入关键字的叶节点。另 一方面,把索引关键字"011010"存储在通过大小比较得到的布尔值的逻辑 反转值与代表节点编号相加得到的数组编号的数组元素内。
此时,由于索引关键字"oiioio"与插入关键字"oiioir在第5比特不
同,因而节点211d成为如下的分支节点鉴别比特位置为5、代表节点
编号为所插入的节点对的代表节点的数组编号。
并且,在图2B的配对节点树中插入"011001"的情况下,检索结果 的索引关键字成为存储在节点211d中的"011010"。在该情况下,由于插
入关键字小,因而得到布尔值o,在插入节点对的代表节点编号加上o后
得到的数组元素内存储保持插入关键字的叶节点。然后,由于索引关键
字"011010"与插入关键字"011001"在第4比特不同,因而节点211d成为
如下的分支节点鉴别比特位置为4、代表节点编号为所插入的节点对的
代表节点的数组编号。
接着进入图5C的步骤S516以下的处理。
图5C是示出将节点存储在图5B中所准备的数组内并求出其插入位 置、变更己有节点的内容来完成插入处理的处理流程的图。
歩骤S516 步骤S523的处理是求出待插入节点对在配对节点树上 的位置的处理,步骤S524以下的处理是对各节点设定数据来完成插入处 理的处理。
在步骤S516中,利用例如逻辑"异或"来进行插入关键字与步骤 S510所得到的索引关键字之间的比特序列比较,得到差分比特序列。
进到步骤S517,根据步骤S516所得到的差分比特序列,得到从上 位第0比特开始观察到的第一个不一致比特的比特位置。该处理可在例 如具有优先编码器的CPU中通过向该CPU输入差分比特序列,来得到 不一致的比特位置。并且,也能以软件方式进行与优先编码器同等的处
25理,得到第一个不一致比特的比特位置。
然后进到步骤S518,判定搜索路径堆栈的堆栈指针是否指向根节点 的数组编号。如果指向根节点的数组编号则转到步骤S524,如果没有指 向根节点的数组编号则进到步骤S519a。
在步骤S519a中,使搜索路径堆栈的堆栈指针后退1,取出在此存 储的数组编号。
在作为在先申请的上述日本特愿2006-187827所提出的插入处理 中,存储在搜索路径堆栈中的只有数组编号,所以取出数组编号,在数 组中从该数组编号指向的数组元素所存储的节点中,取出鉴别比特位置, 但是在本发明中,通过图5A所示的步骤S506a,在搜索路径堆栈中存储 了鉴别比特位置,因此无需访问数组就能够取出鉴别比特位置。
接着进入步骤S522,判定在步骤S519a取出的鉴别比特位置是否是 比在步骤S517取得的比特位置上位的位置关系。这里所谓上位的位置关 系是指比特序列的更左侧的位置,即比特位置的值较小的位置。
在步骤S522的判定结果是否定时,回到步骤S518,重复执行直到 步骤S518的判定为肯定或者步骤S522的判定为肯定。当步骤S522的判 定为肯定时,在步骤S523使搜索路径堆栈的堆栈指针前进1,转到步骤 S524以下的处理。
在上述歩骤S516 步骤S523所说明的处理是这样的处理为了决 定待插入节点对的插入位置,在待插入索引关键字与通过检索所取得的 索引关键字之间进行比特序列比较,调查在比特序列比较中成为不同比 特值的、开头的(最上位的)比特位置与存储在搜索路径堆栈中的分支 节点的鉴别比特位置之间的相对位置关系,将鉴别比特位置为上位的分 支节点的下一分支节点的链接目的地设为待插入节点对的插入位置。
例如当在图2B的配对节点树中插入"111000"时,检索结果的索引关 键字为存储在节点210h中的"1010ir。通过插入关键字"11100O"与存储
在节点2ioh中的索引关键字"ioioir之间的比特序列比较,得到成为不
同比特值的最上位的比特位置l。依次反向搜索路径搜索堆栈,直到所得 到的比特位置1与蓄积在路径搜索堆栈中的数组编号的数组元素所存储的分支节点的鉴别比特位置之间的位置关系成为鉴别比特位置在上位
时,到达根节点210a。在此,使搜索路径堆栈的指针前进1,得到节点 211b的数组编号。把插入关键字"111000"插入到节点211b的链接目的地。 并且,即使对路径搜索堆栈进行反向搜索而到达根节点,但与先前 求出的在比特序列比较中成为不同比特值的、最上位的比特位置相比, 根节点的鉴别比特位置也不是上位的比特位置是指以下的情况在该配 对节点树的索引关键字的上位比特中,与根节点的鉴别比特位置相比为 上位的比特值全部相等。并且是指如下情况在待插入的索引关键字中, 存在一开始就与根节点的鉴别比特位置的上位比特值不同的比特值。因 此,待插入的节点对成为根节点的直接链接目的地,根节点的鉴别比特 位置变成插入关键字的作为与己有索引关键字不同的值的最上位比特的
下面,对步骤S524以下的在各节点中设定数据来完成插入处理的处 理进行说明。
在步骤S524中,从搜索路径堆栈中取出堆栈指针所指的数组编号。 在歩骤S525中,在步骤S514中得到的数组编号所指定的数组元素
的节点类别中写入l (叶节点),在索引关键字中写入插入关键字。
进到步骤S526,从数组中读出在步骤S524中所得到的数组编号的
数组元素。
然后在步骤S527中,在步骤S515中得到的数组编号的数组元素中 写入在步骤S526中读出的内容。
最后在步骤S528中,在步骤S524中得到的数组编号所指定的数组 元素的节点类别中写入0(分支节点),在鉴别比特位置中写入在步骤S517 中得到的比特位置,在代表节点编号中写入步骤S512中得到的数组编号, 结束处理。
在上述图2B的配对节点树中插入"111000"的例子中,在所取得的空 节点对的节点
中写入节点211b的内容(步骤S527),将节点[l]设为保 持插入关键字"111000"的叶节点(步骤S525)。然后,在节点211b的鉴 别比特位置中存储在比特序列比较中成为不同比特值的、最上位的比特
27位置1,将存储有所取得的节点对的代表节点的数组元素的数组编号存储
在代表节点编号中(步骤S528)。
图6是说明包含根节点插入处理在内的追加索引关键字时的整个节 点插入处理的处理流程图。图6所示的流程本身与说明作为在先申请的 上述日本特愿2006-187827中提出的整个节点插入处理的处理流程是同 样的。
在步骤S601中,对要求取得的配对节点树的根节点的数组编号是否 登记完毕进行判定。如果登记完毕,则进行使用图5A 图5C中说明的 常规的插入处理。
如果步骤S601的判定为未登记完毕,则开始全新的配对节点树的登 记、生成。
首先,在步骤S602中,由数组求得空节点对,取得该节点对中的应 成为代表节点的数组元素的数组编号。然后在步骤S603中,求出对步骤 S602中得到的数组编号加上O后的数组编号(实际上,等于在步骤S602 中取得的数组编号)。然后在步骤S604中,针对在步骤S603中得到的数 组编号的数组元素,对待插入根节点的节点类别写入1 (叶节点),并对 索引关键字写入插入关键字,在步骤S605,登记在步骤S602中取得的根 节点的数组编号,结束处理。
如前所述,显然,当有索引关键字的集合时,从该集合中依次取出 索引关键字,反复进行图6和图5A 图5C的处理,从而可以构建与索 引关键字的集合对应的本发明的配对节点树。
接着参照图7A、图7B来说明从配对节点树的索引关键字集合删除 特定的索引关键字的处理流程。图7A,图7B所示的流程本身与本申请 人申请的上述日本特愿2006-187827中提出的删除处理的流程是同样的。
图7A是示出作为删除处理前级的检索处理的处理流程的图,基本上 相当于在图4A所示的检索处理中将删除关键字作为检索关键字,不过在 图4A的步骤S406a的搜索路径堆栈中存储鉴别比特位置的处理被省略。 如果继续进行如频繁利用作为删除处理前级的检索处理的历史中的鉴别 比特位置这样的处理,则可以追加在搜索路径堆桟中存储鉴别比特位置的处理。
步骤S701相当于在图4A的步骤S401中将检索开始节点作为根节 点,步骤S702至步骤S710的处理除了上述点之外与图4A的步骤S402 至步骤S410完全对应,所以省略说明。
在图7A的步骤S711中对删除关键字与索引关键字进行比较,如果 不相等,则在配对节点树内不存在待删除索引关键字,因而删除失败, 结束处理。如果相等,则进到后面的处理,即图7B的步骤S712以下的 处理。
图7B是说明删除处理后级的处理流程的图。
首先,在步骤S712判定在搜索路径堆栈中是否存储有2个以上的数 组编号。所谓未存储有2个以上的数组编号,换句话说只存储有1个数 组编号,该数组编号是存储了根节点的数组元素的数组编号。在该情况 下,转到步骤S718,删除在步骤S701中得到的根节点的数组编号涉及的 节点对。然后进到步骤S719,删除所登记的根节点的数组编号,结束处 理。
当在步骤S712中判定为在搜索路径堆栈中存储有2个以上的数组编 号时,进到步骤S713,将在步骤S708中得到的代表节点编号加上步骤 S707中得到的比特值的反转值,得到相加后的数组编号。该处理是求出 与存储了删除对象索引关键字的叶节点成对的节点所配置在的数组编号 的处理。
然后在步骤S714中,读出在歩骤S713中得到的数组编号的数组元 素的内容,在步骤S715中使搜索路径堆栈的堆栈指针后退.l,取出数组 编号。
接着进到步骤S716,将步骤S714中读出的数组元素的内容重写到 步骤S715中得到的数组编号的数组元素中。该处理是将作为链接到存储 有删除对象索引关键字的叶节点的链接源的分支节点置换成与上述叶节 点成对的节点的处理。
最后在步骤S717中删除在步骤S708中得到的代表节点编号涉及的 节点对,结束处理。图8是示出本发明的求得配对节点树(包含部分树)中存储的索引关
键字的最小值的处理的流程图。图8所示的流程图是在本申请人申请的 上述日本特愿2006-293619提出的索引关键字最小值的流程图中,追加 了从节点取出鉴别比特位置的处理和在搜索路径堆栈中存储从节点取出 的鉴别比特位置的处理。
求出索引关键字最小值的处理相当于根据如先前所述的索引关键字 在树上的配置,在树上从检索开始节点起搜索节点[O]直至叶节点。
首先,从步骤S801的检索开始节点的数组编号的取得到步骤S805 的节点类别的判定,分别与上述图4A的步骤S401至步骤S405的处理同 样。
在步骤S805的节点类别判定中,当节点类别被判定为分支节点时, 进入步骤S806,从节点中取出数组的代表节点编号。
接着进入步骤S806a,从节点中取出鉴别比特位置,在步骤S806b, 将该取出的鉴别比特位置存储在搜索路径堆桟中。
接着在步骤S807.,将步骤S806中取出的代表节点编号与值"0"相 加,将其结果作为新的数组编号,并返回步骤S802。以后,重复从步骤 S802到步骤S807的处理,直到在步骤S805中该节点被判定为叶节点为 止,在步骤S808,从叶节点取出索引关键字,结束处理。
在上述图8所示的处理中,为了搜索节点[O], 一律将代表节点编号 与"O"相加。即,根据图8的处理,链接目的地节点一定是节点对中的节 点[O],并分支到存储有更小值的索引关键字的节点。由此,能够取出树 结构为如先前所述排歹ii结构的酉己对节点树的最小索引关键字。
图9是利用图2B中例示的配对节点树来说明图8的流程图所示的求 出索引关键字最小值的处理的图。图9示出将数组编号220的节点210a 作为检索开始节点时的链接路径以及搜索路径堆栈310的状态。
因为检索开始节点是节点210a,所以把该数组编号220与鉴别比特 位置230a的比特值"0"压入搜索路径堆桟310,接着链接到由代表节点 编号220a表示的节点对201b中的作为节点[O]的节点210b,把该代表节 点编号220a和鉴别比特位置230b的比特值"l"存储在搜索路径堆栈310中,进而到达叶节点210c。取出叶节点210c的索引关键字"000111",结
束处理。
如以上所说明的那样,依次将节点对中的节点[O]的数组编号和分支 节点的鉴别比特位置压入搜索路径堆栈310中。
图10是示出求得配对节点树(包含部分树)中存储的索引关键字的最 大值的处理的流程图。图IO所示的流程图是在本申请人申请的上述曰本 特愿2006-293619中提出的求得索引关键字最大值的流程图中,追加了 从节点取出鉴别比特位置的处理和在搜索路径堆栈中存储从节点取出的 鉴别比特位置的处理。
求出索引关键字最大值的处理相当于针对树上节点中的节点[l]依次 进行搜索,直至叶节点。以下,针对求出任意部分树的最大索引关键字 的处理, 一边与求出上述最小索引关键字的处理进行比较, 一边以不同 点为中心进行说明。
图IO所示的一连串处理中,从步骤SIOOI到步骤S1006b以及步骤 S1008分别与图8中的步骤S801到步骤S806b以及步骤S808对应,并 执行同样的处理。与图8的求出最小值的处理不同之处是,在歩骤S1007 中将代表节点编号与值'T'相加。由此,始终链接代表节点编号所表示的 节点对中的节点[l],依次重复从步骤S1002到步骤S1007的处理,直到 到达叶节点,由此能够得到索引关键字的最大值。
图11是利用图2B中例示的配对节点树来说明图IO的流程图所示的 求出索引关键字最大值的处理的图。如图11所示,与图9的例子相同, 将检索开始节点设为数组编号220的节点210a。因此,检索开始节点的 数组编号是数组编号220,在搜索路径堆桟310中存储数组编号220,并 读出数组编号220的数组元素中存储的节点210a。节点210a的节点类别 260a是"0",为分支节点,所以取出代表节点编号220a和鉴别比特位置 230a,并在搜索路径堆栈310中存储鉴别比特位置230a的值"O "。
接着,由于在最大值检索中始终链接节点[l],因此将代表节点编号 220a与值'T'相加后所得的值作为链接目的地的数组编号而链接到节点 211b。然后将数组编号220a+l存储在搜索路径堆栈310中,并且读出节点211b。
因为节点211b的节点类别261b是"0",为分支节点,所以取出代表 节点编号221b和鉴别比特位置231b,并在搜索路径堆栈310中存储鉴别 比特位置231b的值"2"。
接着,将代表节点编号221b与值"l"相加所得的值作为链接目的地 的数组编号而链接到节点211f。然后将数组编号221b+l存储在搜索路径 堆栈310中,并且读出节点211f。
因为节点211f的节点类别261f是"0",为分支节点,所以取出代表 节点编号221f和鉴别比特位置231f,并在搜索路径堆桟310中存储鉴别 比特位置231f的值"3"。
接着,将代表节点编号221f与值"l"相加所得的值作为链接目的地的 数组编号而链接到节点211h。然后将数组编号221f+l存储到搜索路径堆 栈310中,并读出节点211h。
因为节点211h的节点类别261h是"l",为叶节点,所以从节点211h 中取出索引关键字251h的值"101100",作为最大值,并结束处理。
如图4A至图11所示,在执行对与检索关键字一致的索引关键字进 行检索的基本动作及索引关键字的最小值/最大值的检索处理时,在搜索 路径堆栈310中依次存储所参照的数组的数组编号和分支节点的鉴别比 特位置。
另外,在参照了上述图8以及图10的索引关键字最小值/最大值的 检索处理中,对配对节点树被存储到数组中进行了说明,但显而易见, 配对节点树不一定要存储在数组中,通过仅链接构成节点对的2个节点 中的代表节点、或者仅链接配置在与代表节点相邻的存储区域中的节点, 而到达叶节点,也能够进行索引关键字的最小值/最大值的检索。
接着,对配对节点树的分割/结合方法进行说明。
本发明的配对节点树的分割是指,在指定了由某个比特序列构成的 分割关键字时,根据与该分割关键字之间的大小关系将配对节点树中包 含的索引关键字分为2组,生成由属于各个组的索引关键字构成的2个 配对节点树。
32针对基于大小关系的分割,在以下的说明中,分割成大于分割关键 字的组和小于等于分割关键字的组,但是,即使在分割成大于等于分割 关键字的组和小于分割关键字的组的情况下,也能够同样地进行分割/结 合,这一点根据以下的说明能够容易地理解。
总之,分割关键字是为了决定在哪里分割配对节点树而使用的关键字。
并且,配对节点树的结合是指,根据与2个索引关键字的集合对应
的2个配对节点树,生成与2个索引关键字的集合的并集对应的配对节 点树。在本发明中,前提是2个索引关键字的集合的交集为空。此外, 在以下的说明中,有时将配对节点树简称为树。
图12是说明本发明的配对节点树的第1分割处理流程的图。图12 所示的流程的步骤结构与本申请人作为在先申请的日本特愿 2006-319407中提出的分割处理的实施例1的流程相同,不过步骤内容中 存在不同的内容。
在第l分割处理中,取出作为分割对象的处理源树(以下,有时简称 为处理源。)的索引关键字的最小值,将取出的索引关键字的最小值插入 通过处理源的分割而生成的处理目标树(以下,有时简称为处理目标。), 在最小值为分割关键字的期间,反复进行从处理源树中删除索引关键字 的最小值的处理,由此从作为分割对象的处理源树中分割出处理目标树。
在最初的步骤S1201中,将指定的分割关键字设定为处理源的分割 关键字。分割关键字的指定可能是操作者进行的外部输入的情况,基于 某计算机程序的处理结果的情况,基于来自远方的指令的情况等。指定 的分割关键字被设定在对处理源的分割关键字进行保持的存储器的区域 中。
接着在步骤S1202中,将处理源的根节点设定为处理源的检索开始 节点,进入步骤S1203。
在步骤S1203中,判定处理源树是否已登记。该判定结果为没有登 记意味着处理源树已全部删除完毕,所以是分割关键字大于等于处理源 树的索引关键字的最大值的例外情况,在该情况下结束处理。如果处理源树已登记,则转移到步骤S1204,从在步骤S1202中设 定为检索开始节点的根节点开始,执行图8所示的处理来得到索引关键 字的最小值。此时,如先前所说明的,在搜索路径堆栈中存储有数组编 号和鉴别比特位置。
接着,进入步骤S1205,判定在步骤S1204所得到的最小值是否大 于分割关键字。如果最小值大于分割关键字,则树的分割完成,所以结 束处理,如果最小值不大于分割关键字,则执行以下说明的步骤S1206 步骤S1209的处理目标树的生成和从处理源树删除节点的处理,返回步 骤S1203。
在步骤S1206中,将在步骤S1204中得到的最小值设定为处理目标
插入关键字。
接着,在步骤S1207中,通过图5A 图5C、图6所示的树的生成、 插入处理,执行基于插入关键字的处理目标树生成。
本发明的配对节点树的第1分割处理中的生成、插入处理因为可以 参照在先前的最小值检索处理中存储在搜索路径堆栈中的鉴别比特位 置,所以与本申请人作为在先申请的日本特愿2006-319407中提出的分 割处理的实施例1相比,能够加快处理。
接着,在步骤S1208中,将步骤S1207中的插入关键字设定为处理 源的删除关键字,在步骤S1209中,通过图7A、图7B所示的删除处理, 从处理源树中删除包含删除关键字的叶节点。
在上述分割处理的说明中,从处理源的索引关键字的最小值起依次 进行删除,但是,对于本领域技术人员来说,显然,同样能够从索引关 键字的最大值起依次进行删除。该情况下,步骤S1205成为求出索引关 键字的最大值的处理,步骤S1205成为最大值与分割关键字的大小关系 的判定处理,在步骤S1206中将最大值设定为处理目标的插入关键字。
以上说明了分割处理,但是,也能够通过图12所示的处理流程来执 行结合处理。
关于结合处理,将待结合的两个树中的某一个作为处理源树,如果 分割关键字大于等于处理源树的索引关键字的最大值,则相当于上述的例外处理,删除处理源树,与处理目标树结合。另外,在处理源树的索
引关键字的最大值未知的情况下,预先通过图io所示的最大值检索处理
来求出分割关键字。
然后,由于处理源的分割关键字大于等于处理源树的索引关键字的
最大值,因此在步骤S1205的大小比较中,分割关键字始终大于最小值 而分支到步骤S1206,所以可省略步骤S1205。如果这样,则设定分割关 键字没有意义,所以也不需要步骤S1202,仅通过反复进行最小值检索、 插入处理和删除处理,就能够进行结合处理。
另外,如分割处理所述,显然也可以通过反复进行最大值检索、插 入处理和删除处理来进行结合处理。
图13是说明本发明的配对节点树的第2分割处理流程的图。图13 所示流程的步骤结构与本申请人作为在先申请的日本特愿2006-319407 中提出的分割处理的实施例2的流程相同,不过步骤内容中存在不同的 内容。
关于第2分割处理,以索引关键字为单位来进行插入删除,这一点 与第1分割处理的相同,在搜索待插入删除索引关键字时利用搜索路径 堆栈,减少了在执行插入处理以及删除处理时的处理步骤数量。
图13中从步骤S1301到步骤S1306的处理与图12所示的第1分割 处理的从步骤S1201到步骤S1206的处理完全相同,因此省略说明。另 外,在步骤S1304的最小值检索处理中,在搜索路径堆栈中存储鉴别比 特位置和数组编号,这也与步骤S1204中的最小值检索同样。
在步骤S1307中,利用插入关键字在处理目标中插入节点。该处理 是与图12所示的步骤S1207的插入处理不同的、第2分割处理特有的处 理,后面参照图14、图15A、图15B来详细说明。
接着,在歩骤S1308中,将包含步骤S1304中得到的最小值的节点 设定为处理源删除节点,在步骤S1309中,将删除节点从处理源删除, 得到处理源父节点,该处理源父节点复制了与删除节点成对的节点的内 容。
接着,在步骤S1310中,将步骤S1309中得到的处理源父节点设定为处理源检索开始节点,返回步骤S1303。
如以后说明的那样,处理源父节点是删除节点的最近的上位分支节 点。删除节点包含处理源索引关键字的最小值,根据上述的索引关键字 的顺序性,下次检索到的最小值位于处理源父节点的下位。
因此,第2次及第2次之后的步骤S1304中的最小值检索的检索开 始节点不是根节点而是处理源父节点,因此能够减少处理步骤数量。
后面参照图16来详细说明步骤S1308至步骤S1309和处理源父节点。
图14是说明与图13所示的步骤S1306和步骤S1307对应的节点插 入处理流程的图。
最初的步骤S1401中将插入关键字设定为处理目标插入关键字的步 骤是与图13所示的步骤S1306对应的处理,将在图13所示的步骤S1304 中得到的最小值设定到处理目标插入关键字设定区域中。
接着,在步骤S1402中,判定处理目标是否己登记完毕。
如果未登记完毕,则转移到步骤S1403,在步骤S1403中,将包含 插入关键字的节点对设定为处理目标根节点,作为处理目标根节点进行 登记。接着,进入步骤S1404,将处理目标根节点设定为插入完毕节点, 结束处理。
如果上述步骤S1402的判定结果为已登记完毕,则转移到步骤 S1405。在步骤S1405中,判定插入完毕节点是否已设定完毕。该判定处 理在后面说明的树结合处理中是必要的。在树分割处理中,在最初的插 入处理中,在步骤S14.04中将根节点设定为插入完毕节点,所以步骤 S1406的判定始终为"是"。因此,如果仅是分割处理,则步骤S1405和 步骤S1407不是必须的。
如果步骤S1405的判定结果为"是",则进入步骤S1406,将设定为 插入完毕节点的节点设定为处理目标检索开始节点,进入步骤S1408。
如果步骤S1405的判定结果为"否",则进入步骤S1407,将根节点 设定为处理目标检索开始节点,进入步骤S1408。
在步骤S1408中,通过图IO所示的最大值检索处理,从步骤S1406
36或步骤S1407中设定的检索开始节点开始,求出处理目标索引关键字的 最大值。此时,如之前说明的那样,在搜索路径堆栈中存储有数组编号 和鉴别比特位置。
接着,在步骤S1409中,根据在步骤S1401中设定的插入关键字和 在步骤S1407中得到的最大值,求出待插入节点对的处理目标父节点, 在该父节点中插入包含所述插入关键字的节点对。
接着,进入步骤S1410,将在步骤S1409中插入了包含插入关键字 的节点对的处理目标父节点设定为插入完毕节点,结束处理。
接着,详细说明上述步骤S1403和步骤S1409。
图15A是说明图14所示的步骤S1403的根节点设定处理的流程图。
首先,在步骤S1501中,从数组中取得节点对为空的代表节点编号。
接着,在步骤S1502中,将步骤S1501中取得的代表节点编号加上 值"0"而得到的数组编号设定为插入节点的数组编号。
进入步骤S1503,为了形成叶节点,在节点类别中设定叶,在索引 关键字中设定插入关键字,存储到步骤S1502中设定的数组编号的数组 元素中。
接着,在步骤S1504中,将插入节点的数组编号登记为根节点的数 组编号,结束处理。
另外,关于上述步骤S1501 步骤S1504的处理,在参照图6说明 的配对节点树的生成处理中,对应于根节点的数组编号未登记完毕时的 步骤S602至步骤S605。
图15B是说明图14所示的步骤S1409的求出待插入节点对的处理目 标父节点并在该父节点中插入包含所述插入关键字的节点对的处理的流 程图。图15B所示的流程是先前参照图5C而示出的插入处理的应用,步 骤S1505的处理对应于图5C所示的步骤S516和步骤S517的处理,其中, 步骤S1505的处理为将插入关键字和最大值作为比特序列进行比较而 求出从上位第0比特开始所发现的第一个不一致比特位置,将其设定在 存储差分比特位置的区域中。
步骤S1505之后进入步骤S1506a。另外,步骤S1506a至步骤S1512
37的处理块相当于由图5C所示的步骤S519a至步骤S523构成的处理块, 步骤S1513至步骤S1518的处理相当于图5C所示的步骤S524至步骤 S528。
在步骤S1506a中,使先前图14所示的步骤S1408的最大值检索处 理中的处理目标搜索路径堆栈的堆桟指针后退1,取出鉴别比特位置。
接着在步骤S1509中,比较在步骤S1505中设定的差分比特位置与 在步骤S1506a中取出的鉴别比特位置,判定鉴别比特位置与差分比特位 置相比前者是否为上位的位置关系。
如果该判定结果为鉴别比特位置与差分比特位置相比是上位的位置 关系,则进入步骤S1512,使处理目标搜索路径堆栈的堆桟指针前进l, 取出数组编号,将其设定在父节点的数组编号区域中,转移到步骤S1513。
如果步骤S1509的判定结果为鉴别比特位置与差分比特位置相比不 是上位的位置关系,则进入步骤S1510。在步骤S1510中,判定处理目标搜索路径堆桟的堆栈指针是否指向 根节点的数组编号。
在判定结果为处理目标搜索路径堆栈的堆桟指针没有指向根节点的 数组编号的情况下,返回步骤S1506。
在判定结果为处理目标搜索路径堆栈的堆栈指针指向根节点的数组 编号的情况下,在步骤S1511中,从处理目标搜索路径堆栈中取出堆栈 指针所指向的数组编号,将其设定存储处理目标父节点的数组编号的区 域中,转移到步骤S1513。
在以上说明的步骤S1506a至步骤S1512的处理中,因为能够参照在 先前的最大值检索处理中存储在搜索路径堆栈中的鉴别比特位置,所以 与本申请人作为在前申请的日本特愿2006-319407提出的分割处理的实 施例2相比,可加快处理。
在步骤S1513中,从数组中取得节点对为空的代表节点编号。
接着在步骤S1514中,将代表节点编号加1得到的数组编号设定到 存储插入节点的数组编号的区域中。
接着在步骤S1515中,为了形成叶节点,在节点类别中设定叶,在索引关键字中设定插入关键字,存储到步骤S1514中设定的数组编号的
数组元素中。
接着在步骤S1516中,将代表节点编号加0得到的数组编号设定到 对与插入节点成对的对节点的数组编号进行存储的区域中。
接着在步骤S1517中,读出在步骤S1511或步骤S1512中设定的处 理目标父节点的数组编号所指定的数组元素的内容,将其存储到步骤 S1516中设定的对节点的数组编号所指定的数组元素中。
接着在步骤S1518中,为了形成分支节点,在节点类别中设定分支, 在鉴别比特位置中设定步骤S1505中设定的差分比特位置,在代表节点 编号中设定步骤S1516中设定的对节点的数组编号,存储到步骤S1511 或步骤S1512中设定的处理目标父节点的数组编号所指定的数组元素中, 结束处理。
图16是示出对图13所示的处理流程中的删除处理进行说明的处理 流程例的图。
最初的步骤即步骤S1601相当于图13所示的步骤S1308。删除节点 中包含的删除关键字是在图13所示的步骤S1304中通过最小值检索而求 出的,所以,在处理源搜索路径堆栈中存储有存储了删除关键字的数组 元素的数组编号,因此根据该数组编号来读出删除节点并将其设定到存 储删除节点的区域中。
在接下来的步骤S1602中,判定在处理源搜索路径堆栈中是否存储 了 2个以上的数组编号。该步骤S1602到步骤S1608的处理对应于图7B 所示的删除处理后级的处理。
如果在处理源搜索路径堆栈中没有存储2个以上的数组编号,则转 移到步骤S1607,删除在步骤S1601中设定的删除节点的数组编号所指定 的节点对,进到步骤S1608,删除根节点的数组编号,结束处理。
如果在处理源搜索路径堆栈中存储了 2个以上的数组编号,则进到 步骤S1603,求出与删除节点成对的节点的数组编号,将其设定到存储对 节点的数组编号的区域中。
接着在步骤S1604中,使处理目标搜索路径堆栈的堆栈指针后退1,取出数组编号,将其设定到作为删除节点的最近上位分支节点的处理源 父节点的数组编号存储区域中。
接着在步骤S1605中,读出在步骤S1603中设定的对节点的数组编 号所指定的数组元素的内容,将其存储到步骤S1604中设定的处理源父 节点的数组编号所指定的数组元素中。
接着在步骤S1606中,将删除节点的代表节点编号所指定的节点对 删除,结束处理。
以上,对第2分割处理进行了说明,但在第2分割处理中也可以与 第1分割处理的情况相同,从索引关键字的最大值开始依次进行删除。
另外,与第1分割处理的情况相同,能够在树结合处理中应用分割 处理的处理流程。可以进行以下处理,将待结合的两个树中的某个作为 处理源树,将分割关键字设为处理源树的索引关键字的最大值以上或最 小值以下,来进行处理源树的删除处理,并且将己删除的节点插入到处 理目标树中。
显然,可以通过使计算机执行以上说明的本发明实施方式的比特序 列检索处理、索引关键字插入处理、配对节点树分割结合处理以及与这 些等同的处理的程序,来实现本发明的比特序列检索方法、索引关键字 插入方法、配对节点树分割方法以及结合方法。
因此,本发明的实施方式包括上述程序、以及存储有程序的计算机 可读存储介质。
40
权利要求
1.一种比特序列检索装置,该比特序列检索装置具有配对节点树,该配对节点树是用于比特序列检索的树,由根节点、以及在相邻的存储区域中配置的分支节点和叶节点、或者分支节点之间或叶节点之间的节点对构成,所述根节点是表示树的起点的节点,当该树的节点为一个时所述根节点是所述叶节点,当树的节点为两个以上时所述根节点是所述分支节点,所述分支节点包含进行比特序列检索的检索关键字的鉴别比特位置、和表示作为链接目的地节点对中的一个节点的代表节点的位置的位置信息,所述叶节点包含由检索对象比特序列构成的索引关键字,该比特序列检索装置将所述配对节点树的任意节点作为检索开始节点,在所述分支节点中,根据该分支节点中包含的鉴别比特位置的检索关键字的比特值,依次反复地链接到链接目的地节点对的代表节点或与其相邻的存储区域中所配置的节点,直至到达所述叶节点为止,由此将存储在所述叶节点中的索引关键字作为检索结果关键字,所述检索结果关键字是所述配对节点树的以所述检索开始节点为根节点的任意部分树的、基于所述检索关键字的检索结果,所述比特序列检索装置的特征在于,依次在堆栈中保持配置了所述检索开始节点的存储区域的地址信息、配置了从所述检索开始节点到所述叶节点的链接目的地节点的存储区域的地址信息、以及从所述检索开始节点到所述叶节点的链接路径的分支节点的鉴别比特位置。
2. 根据权利要求l所述的比特序列检索装置,其特征在于, 所述配对节点树存储在数组中,所述位置信息是所述数组的存储了与该位置信息对应的所述代表节点的数组元素的数组编号,配置了所述检索开始节点以及链接目的地节点的存储区域的地址信 息是存储了所述检索开始节点以及链接目的地节点的数组元素的数组编弓
3. 根据权利要求2所述的比特序列检索装置,其特征在于, 通过所述数组编号与所述检索关键字的鉴别比特位置的比特值的运算,来求出存储了链接目的地节点的数组元素的数组编号。
4. 根据权利要求l所述的比特序列检索装置,其特征在于, 所述分支节点与叶节点包含有表示各个节点的类别的数据。
5. —种索引关键字插入方法,该方法在配对节点树中插入包含由期 望比特序列构成的索引关键字的叶节点,该配对节点树是用于比特序列检索的树,由根节点、以及在相邻的 存储区域中配置的分支节点和叶节点、或者分支节点之间或叶节点之间 的节点对构成,所述根节点是表示树的起点的节点,当该树的节点为一 个时所述根节点是所述叶节点,当树的节点为两个以上时所述根节点是 所述分支节点,所述分支节点包含进行比特序列检索的检索关键字的鉴 别比特位置、和表示作为链接目的地节点对中的一个节点的代表节点的 位置的位置信息,所述叶节点包含由检索对象比特序列构成的索引关键 字,该配对节点树构成为以所述树的任意节点作为检索开始节点,在所 述分支节点中,根据该分支节点中包含的鉴别比特位置的检索关键字的 比特值,依次反复地链接到链接目的地节点对的代表节点或与其相邻的 存储区域中所配置的节点,直至到达所述叶节点为止,由此将存储在所 述叶节点中的索引关键字作为检索结果关键字,所述检索结果关键字是 所述树的以所述检索开始节点为根节点的任意部分树的、基于所述检索 关键字的检索结果,所述索引关键字插入方法的特征在于,具有以下步骤将所述索引关键字作为所述检索关键字,从所述配对节点树中检索相应的叶节点,并且在堆栈中依次存储到达该叶节点为止所搜索到的 链接路径的分支节点以及配置了该叶节点的存储区域的地址信息、和该 分支节点的鉴别比特位置;在所述检索关键字与所述相应的叶节点所包含的索引关键字之间进行大小比较和比特序列比较;根据在比特序列比较中成为不同比特值的开头比特位置与存储在所 述堆栈中的鉴别比特位置之间的相对位置关系,来决定由包含被插入索引关键字的叶节点和另一个节点构成的节点对的插入位置;以及根据所述大小关系来决定将包含待插入索引关键字的叶节点设为所 述被插入节点对中的哪个节点。
6. 根据权利要求5所述的索引关键字插入方法,其特征在于, 所述配对节点树存储在数组中,所述位置信息是所述数组的存储了与该位置信息对应的所述代表节点的数组元素的数组编号,配置了所述检索开始节点以及链接目的地节点的存储区域的地址信 息是存储了所述检索开始节点以及链接目的地节点的数组元素的数组编号
7. —种用于使计算机执行权利要求5或权利要求6所述的索引关键 字插入方法的程序。
8. —种比特序列检索方法,该方法采用配对节点树, 该配对节点树是用于比特序列检索的树,由根节点、以及在相邻的存储区域中配置的分支节点和叶节点、或者分支节点之间或叶节点之间 的节点对构成,所述根节点是表示树的起点的节点,当该树的节点为一 个时所述根节点是所述叶节点,当树的节点为两个以上吋所述根节点是 所述分支节点,所述分支节点包含进行比特序列检索的检索关键字的鉴 别比特位置、和表示作为链接目的地节点对中的一个节点的代表节点的 位置的位置信息,所述叶节点包含由检索对象比特序列构成的索引关键 字,该方法将所述配对节点树的任意节点作为检索开始节点,在所述分 支节点中,根据该分支节点中包含的鉴别比特位置的检索关键字的比特 值,依次反复地链接到链接目的地节点对的代表节点或在与其相邻的存 储区域中配置的节点,直至到达所述叶节点为止,由此将存储在所述叶 节点中的索引关键字作为检索结果关键字,所述检索结果关键字是所述 配对节点树的以所述检索开始节点为根节点的任意部分树的、基于所述 检索关键字的检索结果,所述比特序列检索方法的特征在于,在堆栈中依次保持配置了所述检索开始节点的存储区域的地址信 息、配置了从所述检索开始节点到所述叶节点的链接目的地节点的存储 区域的地址信息、以及从所述检索开始节点到所述叶节点的链接路径的 分支节点的鉴别比特位置。
9. 根据权利要求8所述的比特序列检索方法,其特征在于,所述配对节点树存储在数组中,所述位置信息是所述数组的存储了 与该位置信息对应的所述代表节点的数组元素的数组编号,配置了所述检索开始节点以及链接目的地节点的存储区域的地址信 息是存储了所述检索开始节点以及链接目的地节点的数组元素的数组编号。
10. 根据权利要求9所述的比特序列检索方法,其特征在于,通过所述数组编号与所述检索关键字的鉴别比特位置的比特值的运 算,来求出存储了链接目的地节点的数组元素的数组编号。
11. 一种比特序列检索方法,该方法采用配对节点树, 该配对节点树是用于比特序列检索的树,由根节点、以及在相邻的存储区域中配置的分支节点和叶节点、或者分支节点之间或叶节点之间 的节点对构成,所述根节点是表示树的起点的节点,当该树的节点为一 个时所述根节点是所述叶节点,当树的节点为两个以上时所述根节点是 所述分支节点,所述分支节点包含进行比特序列检索的检索关键字的鉴 别比特位置、和表示作为链接目的地节点对中的一个节点的代表节点的 位置的位置信息,所述叶节点包含由检索对象比特序列构成的索引关键 字,该方法将所述配对节点树的任意节点作为检索开始节点,仅链接所述节点对中构成该节点对的2个节点中的代表节点、或在与代表节点相 邻的存储区域中配置的节点,而到达叶节点,由此求出以所述检索开始 节点为根节点的任意部分树的检索关键字的最小值或最大值, 所述比特序列检索方法的特征在于,依次在堆栈中保持配置了所述检索开始节点的存储区域的地址信息、配置了从所述检索开始节点到所述叶节点的链接目的地节点的存储 区域的地址信息、以及从所述检索开始节点到所述叶节点的链接路径的 分支节点的鉴别比特位置。
12. 根据权利要求ll所述的比特序列检索方法,其特征在于, 所述配对节点树存储在数组中,所述位置信息是所述数组的存储了与该位置信息对应的所述代表节点的数组元素的数组编号,配置了所述检索开始节点以及链接目的地节点的存储区域的地址信 息是存储了所述检索开始节点以及链接目的地节点的数组元素的数组编 号。
13. —种用于使计算机执行权利要求8 12中任意一项所述的比特 序列检索方法的程序。
14. 一种配对节点树分割方法,该配对节点树是用于比特序列检索的树,由根节点、以及在相邻的 存储区域中配置的分支节点和叶节点、或者分支节点之间或叶节点之间 的节点对构成,所述根节点是表示树的起点的节点,当该树的节点为一 个时所述根节点是所述叶节点,当树的节点为两个以上时所述根节点是 所述分支节点,所述分支节点包含进行比特序列检索的检索关键字的鉴 别比特位置、和表示作为链接目的地节点对中的一个节点的代表节点的 位置的位置信息,所述叶节点包含由检索对象比特序列构成的索引关键 字,该配对节点树构成为以所述树的任意节点作为检索开始节点,在所 述分支节点中,根据该分支节点中包含的鉴别比特位置的检索关键字的 比特值,依次反复地链接到链接目的地节点对的代表节点或者与其相邻 的存储区域中所配置的节点,直至到达所述叶节点为止,由此将存储在 所述叶节点中的索引关键字作为检索结果关键字,所述检索结果关键字 是所述树的以所述检索开始节点为根节点的任意部分树的、基于所述检 索关键字的检索结果,所述配对节点树分割方法的特征在于,该配对节点树分割方法具有 以下步骤取得分割关键字的步骤,该分割关键字决定对作为分割对象的处理 源配对节点树进行分割的索引关键字;处理源最小值或最大值取得步骤,通过权利要求11所述的比特序列 检索方法来求出所述处理源配对节点树的索引关键字的最小值或最大 值;比较步骤,对所述分割关键字与所述最小值或最大值的大小进行比 较,如果该最小值大于所述分割关键字或该最大值小于所述分割关键字, 则结束处理;生成步骤,如果所述比较结果为该最小值不大于所述分割关键字或 该最大值不小于所述分割关键字,则通过权利要求5所述的索引关键字 插入方法来插入该最小值或该最大值的索引关键字,生成新的处理目标 配对节点树;以及删除步骤,从所述处理源配对节点树中删除所述最小值或所述最大 值的索引关键字,反复进行将删除了所述最小值或所述最大值的索弓I关键字后的所述 处理源配对节点树作为新的处理源配对节点树的、所述处理源最小值或 最大值取得步骤、所述比较步骤、所述生成步骤以及所述删除步骤,直 到在所述处理源最小值或最大值取得步骤中取得的最小值大于所述分割 关键字、或取得的最大值小于所述分割关键字为止。
15.根据权利要求14所述的配对节点树分割方法,其特征在于,所述配对节点树存储在数组中,所述位置信息是所述数组的存储了 与该位置信息对应的所述代表节点的数组元素的数组编号,配置了所述检索开始节点以及链接目的地节点的存储区域的地址信 息是存储了所述检索开始节点以及链接目的地节点的数组元素的数组编 号,所述生成步骤包含以下步骤将在所述处理源最小值或最大值取得步骤中求出的最小值或最大值 设定为所述处理目标配对节点树的插入关键字,执行通过权利要求12所述的比特序列检索方法来取得所述处理目标配对节点树的索引关键字的最大值或最小值的处理目标最大值或最小 值取得步骤,在所述插入关键字与所述索引关键字的最大值或最小值之间进行比 特序列比较,求出成为不同比特值的开头比特位置,根据该比特位置与存储在所述堆栈中的鉴别比特位置之间的相对位 置关系,决定处理目标父节点,所述处理目标父节点是包含了保持所述 插入关键字的叶节点的节点对的插入位置,将该处理目标父节点的所述位置信息设为存储如下节点对的代表节 点的数组元素的数组编号,该节点对包含了保持所述插入关键字的叶节 点。
16.根据权利要求15所述的配对节点树分割方法,其特征在于,所述生成步骤还包含以下步骤将所述处理目标父节点设定为插入 了包含插入关键字的叶节点的插入完毕节点,所述处理目标最大值或最小值取得步骤是将所述插入完毕节点作为 检索开始节点,取得所述处理目标配对节点树的索引关键字的最大值或 最小值的步骤。
17.根据权利要求i6所述的配对节点树分割方法,其特征在于,所述删除步骤包含以下步骤将包含所述处理源最小值或最大值取得步骤中求出的最小值或最大 值作为索引关键字的叶节点,设定为所述处理源配对节点树的删除节点,将与所述删除节点构成同一节点对的节点的内容写入到该节点对的 链接源的分支节点中.,以及删除该节点对。
18. —种配对节点树结合方法,用于2个配对节点树的结合, 该配对节点树是用于比特序列检索的树,由根节点、以及在相邻的 存储区域中配置的分支节点和叶节点、或者分支节点之间或叶节点之间 的节点对构成,所述根节点是表示树的起点的节点,当该树的节点为一 个时所述根节点是所述叶节点,当树的节点为两个以上时所述根节点是 所述分支节点,所述分支节点包含进行比特序列检索的检索关键字的鉴别比特位置、和表示作为链接目的地节点对中的一个节点的代表节点的 位置的位置信息,所述叶节点包含由检索对象比特序列构成的索引关键 字,该配对节点树构成为以所述树的任意节点作为检索开始节点,在所 述分支节点中,根据该分支节点中包含的鉴别比特位置的检索关键字的 比特值,依次反复地链接到链接目的地节点对的代表节点或与其相邻的 存储区域中所配置的节点,直至到达所述叶节点为止,由此将存储在所 述叶节点中的索引关键字作为检索结果关键字,所述检索结果关键字是 所述树的以所述检索开始节点为根节点的任意部分树的、基于所述检索 关键字的检索结果,所述配对节点树结合方法的特征在于,该配对节点树结合方法具有 以下步骤处理源最小值或最大值取得步骤,通过权利要求11所述的比特序列 检索方法来求出所述2个配对节点树中一方的处理源配对节点树的索引 关键字的最小值或最大值;插入步骤,通过权利要求5所述的索引关键字插入方法,在所述2 个配对节点树的另一方的处理目标配对节点树中,插入所述最小值或最 大值的索引关键字;以及删除步骤,从所述处理目标配对节点树中删除所述最小值或所述最 大值的索引关键字,反复进行将删除了所述最小值或所述最大值的索引关键字后的所述 处理源配对节点树作为新的处理源配对节点树的、所述处理源最小值或 最大值取得步骤、所述插入步骤以及所述删除步骤,直到所述处理源配 对节点树被全部删除。
19.根据权利要求18所述的配对节点树结合方法,其特征在于,所述配对节点树存储在数组中,所述位置信息是所述数组的存储了 与该位置信息对应的所述代表节点的数组元素的数组编号,配置了所述检索开始节点以及链接目的地节点的存储区域的地址信 息是存储了所述检索开始节点以及链接目的地节点的数组元素的数组编号,所述插入步骤包含以下步骤-将所述最小值或所述最大值设定为所述处理目标配对节点树的插入 关键字,执行通过权利要求12所述的比特序列检索方法来取得所述处理目 标配对节点树的索引关键字的最大值或最小值的处理目标最大值或最小 值取得步骤,在所述插入关键字与所述索引关键字的最大值或最小值之间进行比 特序列比较,求出成为不同比特值的开头比特位置,根据该比特位置与存储在所述堆栈中的鉴别比特位置之间的相对位 置关系,决定作为如下节点对的插入位置的父节点,该节点对包含了保 持所述插入关键字的叶节点,将该父节点的所述位置信息设为存储如下节点对的代表节点的数组 元素的数组编号,该节点对包含了保持所述插入关键字的叶节点。
20. 根据权利要求19所述的配对节点树结合方法,其特征在于,. 所述删除步骤包含以下步骤将包含所述处理源最小值或最大值取得步骤中求出的最小值或最大 值作为索引关键字的叶节点,设定为所述处理源配对节点树的删除节点,将与所述删除节点构成同一节点对的节点的内容写入到该节点对的 链接源的分支节点中,以及删除该节点对。
21. —种用于使计算机执行权利要求14 20中任意一项所述的配对 节点树分割方法或配对节点树结合方法的程序。
全文摘要
为了即使配对节点树的规模变大也可减轻利用了配对节点树的处理的效率降低,而在基本检索、最大值或最小值检索中,在存储检索历史的搜索路径堆栈中不仅存储配置了节点的地址信息,还存储在检索路径下搜索到的分支节点的鉴别比特位置。
文档编号G06F12/00GK101589390SQ20078005044
公开日2009年11月25日 申请日期2007年10月25日 优先权日2007年1月24日
发明者国分光裕, 新庄敏男 申请人:新叶股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1