CN103942200A - 有序列表匹配方法和设备、文档字符匹配方法和设备 - Google Patents
有序列表匹配方法和设备、文档字符匹配方法和设备 Download PDFInfo
- Publication number
- CN103942200A CN103942200A CN201310018781.2A CN201310018781A CN103942200A CN 103942200 A CN103942200 A CN 103942200A CN 201310018781 A CN201310018781 A CN 201310018781A CN 103942200 A CN103942200 A CN 103942200A
- Authority
- CN
- China
- Prior art keywords
- list
- source
- sub
- object listing
- coupling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了有序列表匹配方法和设备、文档字符匹配方法和设备。有序列表包括源列表和目标列表,源列表和目标列表中的每一个包含至少一个元素,并且源列表和目标列表以单调映射关系彼此对应。该有序列表匹配方法包括选择步骤,用于从源列表选择元素;匹配步骤,用于在目标列表匹配所选择的元素;以及分割步骤,用于当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于匹配步骤的结果将目标列表分割成两个子目标列表,这两个子目标列表与两个子源列表以该单调映射关系一一对应,其中,对于两个子源列表中的每一个及其对应的子目标列表,依次执行所述选择步骤、所述匹配步骤和所述分割步骤。
Description
技术领域
本发明涉及用于有序列表匹配的方法和设备。此外,本发明涉及用于文档字符匹配的方法和设备。
背景技术
在文档处理的领域中,文档中的字符往往被转换成有序列表以便被处理。因此,常常对有序列表进行处理以在有序列表之间实现匹配。
当前,在索引系统(诸如全文搜索(FTS)系统)中常常使用两个有序列表的匹配。在索引系统中,如本领域公知的,使用许多倒排表(inverted table)来帮助提高搜索/操作速度。每个倒排表均是有序列表,并且不同元素类型(诸如字符、单词、词干(trunk)等)涉及不同的倒排表。因此,利用倒排表,文档中包含的内容将被转换成有序列表以用于进一步的处理,诸如匹配、搜索等。
下文,将参照图1A至1D描述现有技术中的常用的用于文档字符索引和匹配的处理。
如图1A所示,许多文档中的汉语词语“日本”将被处理。在识别期间,该词语中的每个字符、即“日”和“本”将分别被索引。例如,文档中的字符“日”将用分别指示包含该字符的文档以及该字符在各文档中的位置的文档索引和字符位置索引来索引。通过这样的处理,字符“日”和“本”中的每一个将具有两个有序列表,一个有序列表对应于文档索引,另一个有序列表对应于字符位置索引。
此后,将处理所获得的字符“日”和“本”的有序列表。更具体而言,将所获得的字符“日”和“本”的有序列表进行匹配,其中一方面,如图1B所示,字符“日”和“本”中的每一个的文档索引列表将被进行匹配,其中为了清楚起见,字符“日”和“本”的文档索引列表已被处理以便不包括重复元素,但是文档索引列表可具有重复元素,并且另一方面,如图1C所示,字符“日”和“本”中的每一个的字符位置索引列表将被进行匹配。最终,如图1D所示,各文档中的词语“日本”将被找到。
存在多种类型的对两个有序列表进行匹配的方法,并且这些类型的匹配方法通常使用二值搜索方法(binary search method)以及其他类型的搜索方法来实现匹配,其中二值搜索方法是用于有序列表的快速方法。现有技术中的用于对两个有序列表进行匹配的常用方法可在下文被称为二值搜索方法,在该方法中,输入两个有序列表,其中这两个有序列表之一用作源列表并且另一个有序列表用作目标列表,并且源列表通常具有比目标列表中的元素更少的元素,该方法对于源列表中的元素进行循环(loop)并且搜索目标列表中的与该源列表中的各元素对应的匹配元素。
将参照图2以及图3A至3F描述二值搜索方法。图2示出现有技术中的二值搜索方法的流程图,并且图3A至3F示出应用该二值搜索方法的实例。
在图2中的步骤100中,输入两个有序列表分别作为源列表和目标列表。通常,尺寸较小的列表被设定为源列表,并且尺寸较大的列表被设定为目标列表。这意味着该方法从源列表中选择元素,并且在目标列表中搜索该元素。
在图2的步骤200中,确定源列表中的所有元素是否已被搜索。更具体而言,该方法循环源列表,并且判断所有元素是否已被选择。如果存在一些还未被选择的元素,则在步骤300中,该方法依次从源列表中的未被选择的元素中获得一个元素,特别地,该方法获得源列表中的紧接在前一元素之后的元素。
在步骤400中,执行二值搜索以搜索目标列表中的与源列表中选择的元素匹配的元素,并且记录找到的位置。然后,该过程返回步骤200以进一步确定源列表中的所有元素是否已被搜索。
当确定源列表中的所有元素已被搜索时,则该过程前进到步骤500,在该步骤中,所有找到的位置信息被获得并且记录为最终匹配结果。
下文,将参照图3A至3F来描述应用二值搜索方法的示例。如图3A中所示,选择小尺寸列表作为源列表并选择大尺寸列表作为目标列表,并且从源列表中选择第一个元素、即起点“3”。然后,如图3B所示,通过循环目标列表的整个范围在目标列表中找到具有值“3”的元素。此后,由于在源列表中仍存在一些未被选择的元素,因此如图3C所示,从源列表中选择源列表中的下一个元素,即“7”,并且如图3D所示,仍通过循环目标列表的整个范围在目标列表中找到具有值“7”的元素。应注意,对于第二个被选择的元素的匹配处理仍是针对目标列表的整个范围执行的,就如同第一个元素的情况下的处理那样。这样,源列表中的元素被依次选择,并且对于源列表中的每个选择的元素,均搜索目标列表的整个范围以找到匹配元素,以便获得最终匹配结果,如图3E和3F所示。
当前,用户希望更快且花费更少时间地对源列表和目标列表进行匹配,然而在匹配期间经过的时间的大部分是用于定位匹配元素对,也就是说,对于源列表中的所选择的元素,在目标列表中找到其匹配元素。
但是,如上所述,当前的二值搜索方法依次选择源列表中的元素,并且对于每一个选择的元素,该方法都是在目标列表中的整个范围中进行搜索以找到该选择的元素的匹配元素。如果源列表和目标列表非常大,则匹配元素的寻找将浪费大量时间,因此该方法是慢的算法。
当源列表和目标列表都大时,速度非常重要。例如,在处理大规模的文档时,FTS需要快速获得两个大的列表中的匹配位置信息,因此必须提高匹配速度以节约时间。但是,当前的二值搜索方法的对于两个有序列表匹配的速度慢,并且不能满足用户要求。如何提高匹配的速度成为挑战。
此外,现有技术中没有关注于如何对源列表中先前选择的元素在目标列表中的匹配结果加以利用以便有助于针对当前选择的元素的匹配操作。换句话说,已知的方法和技术在每次搜索时都是针对目标列表的整个范围,而没有考虑如何缩小搜索范围。
鉴于上文,需要更好的方法来进行两个有序列表的匹配以提高匹配速度。并且,新的方法应该大大提高匹配速度而几乎不会占据更多的存储空间。
发明内容
本发明旨在解决上述问题。本发明的一个目的是提供一种解决上述问题中的任一个的方法和设备。更具体而言,本发明的一个目的是提高两个有序列表的匹配的速度。
在本发明的一个方面中,提供了一种有序列表匹配方法,该有序列表包括源列表和目标列表,该源列表和目标列表中的每一个包含至少一个元素,并且该源列表和目标列表以单调映射关系彼此对应,该方法包括:选择步骤,用于从源列表选择元素;匹配步骤,用于在目标列表匹配所选择的元素;以及分割步骤,用于当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于所述匹配步骤的结果将目标列表分割成两个子目标列表,这两个子目标列表与所述两个子源列表以所述单调映射关系一一对应,其中,对于所述两个子源列表中的每一个及其对应的子目标列表,依次执行所述选择步骤、所述匹配步骤和所述分割步骤。
在本发明的另一方面中,提供了一种有序列表匹配设备,该有序列表包括源列表和目标列表,该源列表和目标列表中的每一个包含至少一个元素,并且该源列表和目标列表以单调映射关系彼此对应,该设备包括:选择单元,被配置为从源列表选择元素;匹配单元,被配置为在目标列表匹配所选择的元素;以及分割单元,被配置为当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于所述匹配单元所获得的结果将目标列表分割成两个子目标列表,这两个子目标列表与所述两个子源列表以所述单调映射关系一一对应,其中,对于所述两个子源列表中的每一个及其对应的子目标列表,依次由所述选择单元、所述匹配单元和所述分割单元处理。
在本发明的还另一方面中,提供了一种文档字符匹配方法,包括:分别对文档中包含的字符以及要被匹配的字符进行索引,以便获得所述字符的有序索引列表以及所述要被匹配的字符的有序索引列表;以及将上述的方法应用于分别作为源列表和目标列表的所述字符的有序索引列表以及所述要被匹配的字符的有序索引列表,以便实现匹配。
在本发明的还另一方面中,提供了一种文档字符匹配设备,包括:被配置为分别对文档中包含的字符以及要被匹配的字符进行索引,以便获得所述字符的有序索引列表以及所述要被匹配的字符的有序索引列表的单元;以及被配置为将上述的方法应用于分别作为源列表和目标列表的所述字符的有序索引列表以及所述要被匹配的字符的有序索引列表,以便实现匹配的单元。
如上所述,根据本发明的用于有序列表匹配的方法的原理是利用源列表中先前选择的元素以及该先前选择的元素在该目标列表中的匹配结果,来分别分割源列表和目标列表,从而缩小了在其中执行匹配的搜索范围,有助于提高匹配速度。
从参照附图的示例性实施例的以下描述,本发明的其它特征将变得清晰。
附图说明
并入说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在附图中,相似的附图标记指示相似的项目。
图1A至1D示出现有技术中的文档字符索引和匹配的处理。
图2示出现有技术中的二值搜索方法的流程图。
图3A至3F示出应用现有技术中的二值搜索方法的示例。
图4是示出用于实现有序列表匹配设备的计算装置的布置的框图。
图5示出根据本发明的第一实施例的有序列表匹配方法的流程图。
图6A至6G示出应用根据本发明的第一实施例的方法的示例。
图7示出根据本发明的第一实施例的有序列表匹配设备的框图。
图8示出根据本发明的第二实施例的文档字符匹配方法的流程图。
图9示出根据本发明的第二实施例的文档字符匹配设备的框图。
具体实施方式
下文将参照附图详细描述本发明的实施例。
为了有助于透彻地并且适当地理解本发明,下文将首先解释本发明的说明书以及权利要求书中所使用的术语。
有序列表指的是如下这样的包含至少一个元素的列表,其中从该列表的开始元素起,该列表中包含的元素的值逐渐地增加或者减小,并且元素的索引号是连续的并且索引号通常都是整数。应注意,有序列表中包含的元素可以是任何形式的,诸如整数、小数、字符串等,只要该元素可被排序即可。
在说明书的上下文中,要被处理的两个有序列表相互对应并且处于单调映射关系,并且通常,两个有序列表之中的具有较小尺寸的一个列表将用作源列表,并且两个有序列表之中的具有较大尺寸的一个列表将用作目标列表。
单调映射指的是从源列表到目标列表的映射是单调的,并且通常,单调映射可包括单调增映射和单调减映射。
单调增映射指的是如下方式,即源列表中的第一个元素对应于该目标列表中的第一个元素。在一种情况下,单调增映射可指的是源列表中包含的所有元素的绝对值的序列以及目标列表中包含的所有元素的绝对值的序列处于相同方向,即源列表中包含的所有元素的绝对值的序列以及目标列表中包含的所有元素的绝对值的序列都是逐渐增大或者逐渐减小的。
单调减映射指的是如下方式,即源列表中的第一个元素对应于该目标列表中的最后一个元素。在一种情况下,单调减映射可指的是源列表中包含的所有元素的绝对值的序列以及目标列表中包含的所有元素的绝对值的序列处于相反方向,即,当源列表中包含的所有元素的绝对值的序列是逐渐增大或者逐渐减小的时,目标列表中包含的所有元素的绝对值的序列是逐渐减小或者逐渐增大的。
图4是示出用于实现有序列表匹配设备以及文档字符匹配设备的计算装置的布置的框图。为了简便起见,该设备被示出为内置于单个计算装置中。但是,不管该设备是内置于单个计算装置中还是内置于作为网络系统的多个计算装置中,该设备都是有效的。
如图4所示,计算装置100用于执行匹配两个有序列表的处理。计算装置100可包括CPU101、芯片组102、RAM103、存储控制器104、显示控制器105、硬盘驱动器106、CD-ROM驱动器107、以及显示器108。计算装置100还可包括连接于CPU101和芯片组102之间的信号线111、连接于芯片组102和RAM103之间的信号线112、连接于芯片组102和各种外围设备之间的外围设备总线113、连接于存储控制器104和硬盘驱动器106之间的信号线114、连接于存储控制器104和CD-ROM驱动器107之间的信号线115、以及连接于显示控制器105和显示器108之间的信号线116。
客户设备120可直接或经由网络130连接到计算装置100。客户设备120可例如向计算装置100发送匹配两个有序列表的处理所需要的指令和/或参数,并且计算装置100可将信息返回给客户设备120或者在显示器108上显示信息。
本发明提出了快速且准确的用于有序列表匹配的新方法。这里,定义有序列表包括源列表和目标列表。根据本发明的有序列表匹配的方法的原理是利用源列表中的先前选择的元素在目标列表中的匹配结果。更具体而言,该方法初始化源范围(Source-scope)作为源列表的整个范围并且初始化目标范围(Object-scope)作为目标列表的整个范围。然后,该方法选择源列表的源范围中的元素,并且搜索目标列表的对应目标范围中的与该选择的元素匹配的元素。然后,该方法从基于该匹配结果的位置处将该目标列表分割成两个子目标列表,即两个新的目标范围,并且从该选择的元素的位置处将该源列表分割成两个子源列表,即两个新的源范围。由此,该方法将这两个新的源范围中的元素的搜索范围从目标列表的整个范围减小至这两个新的目标范围中的对应的一个目标范围,而其仅是目标列表的整个范围的一部分。然后,该方法循环子源列表,并且递归地分割源列表的源范围以及目标列表的目标范围以在减小的搜索范围中搜索各元素。最后,当源列表中的所有元素都被搜索时,目标列表中的所有找到的位置信息被记录为最终匹配结果。
由于除了第一次匹配之外源列表和目标列表之间的各匹配操作基本基于减小的搜索范围,因此目标列表中的匹配元素的寻找将更快速,并且本发明的方法将快速地确定最终匹配结果。此外,目标列表的分割将不会影响准确性,并且可能仅导致存储容量适度地增大。
[第一实施例]
将参照图5描述根据本发明的第一实施例的方法,其中图5示出了根据本发明的第一实施例的有序列表匹配方法的流程图。为了清楚起见,将基于两个有序列表的匹配进行描述,但是这仅是说明性的,而不是打算限制本发明,并且本发明可被用于任何数量的有序列表。
在该方法中,要被匹配的两个有序列表包括源列表和目标列表,该源列表和目标列表中的每一个均包含至少一个元素,并且源列表和目标列表以单调映射的关系彼此对应。
在步骤S501(下文称为选择步骤)中,从源列表中选择元素。
在步骤S502(下文称为匹配步骤)中,执行在目标列表中匹配所选择的元素的操作。
在步骤S503(下文称为分割步骤)中,当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于所述匹配步骤的结果将目标列表分割成两个子目标列表,这两个子目标列表与所述两个子源列表以单调映射的关系一一对应。
然后,对于两个子源列表中的每一个以及其对应的子目标列表,分别相继执行如上所述的选择步骤、匹配步骤和分割步骤。当各子源列表中包含的所有元素已被选择时,源列表和目标列表的匹配完成。更具体而言,当子源列表中所包含的元素的数量仅为1时(这意味着该元素是该子源列表中的最后的元素并且子源列表中的元素的选择将结束),对于子源列表将仅执行选择步骤和匹配步骤,而不执行分割步骤,并且此后,子源列表和对应的子目标列表之间的匹配完成。当所有子源列表和它们分别对应的子目标列表之间的匹配已被完成之后,源列表和目标列表之间的匹配完成。
下文,将分别详细描述上述选择步骤、匹配步骤和分割步骤中的每一个。
在选择步骤中,该方法可选择源列表中的任何元素,以便找到其在目标列表中的匹配元素。
作为源列表和目标列表,初始地,将获得两个有序列表,并且通常,具有较小尺寸的有序列表将被设为源列表并且具有较大尺寸的有序列表将被设为目标列表。此外,该方法将在其中选择元素的范围设为源范围,并且将在其中搜索匹配元素的范围设为目标范围。因此,初始地,该方法可将初始源列表的整个范围设为初始源范围,并且将初始目标列表的整个范围设为初始目标范围。
优选地,源列表中的元素将基于其在源列表中的索引号来被选择,因此,该源范围和目标范围将基于元素的索引被表示。
例如,当源列表为[3][5][6][8]并且目标列表为[1][3][4][5][7][8]时,源列表的索引为<0><1><2><3>,并且目标列表的索引为<0><1><2><3><4><5>。这里,[]用于示出元素值,并且<>用于示出列表中的元素索引。
因此,初始源范围的索引为<0,3>,并且初始目标范围的索引为<0,5>。
在一种实例中,初始源范围和初始目标范围可进一步组成一个任务列表(task list),并且该任务列表通常被表示为[源范围,目标范围]。
例如:
该实例中的任务列表为:[源范围<0,3>,目标范围<0,5>]
当然,源范围、目标范围和任务列表可被以可应用根据本发明的方法的任何其它方式表示。
因此,该方法可最初选择初始源范围中的任何元素以便找到其在初始目标范围中的匹配元素。
所选择的元素的位置可以是源列表中的任何位置,并且可基于源列表的索引被任意确定。所选择的位置越接近源范围的中央,匹配速度越快。在一个优选实例中,源列表中的从一个黄金分割点(goldensection point)到另一个黄金分割点的范围是较好的用于选择的范围。
这两个黄金分割点的索引可通过如下公式计算:
indexgolden_1=(end_index-start_index)*0.382+start_index
indexgolden_2=(end_index-start_index)*0.618+start_index
其中,end_index指示源列表的结束元素(end element)的索引,并且start_index指示源列表的起始元素(start element)的索引。
如果黄金分割点的索引的计算值是带有小数的,则可选择邻近的整数作为黄金分割点的实际使用的索引。例如,本领域公知的取整函数可被用于获得该邻近整数。通常,选择计算值的整数部分作为该黄金分割点的索引。
例如,对于上述源列表,黄金分割点的索引为:
Indexgolden_1=(3-0)*0.382=1.146->索引is<1>
Indexgolden_2=(3-0)*0.618=1.854->索引is<1>
选择范围为<1,1>。
因此,从该范围中选择的元素的索引为<1>,这指示在源列表中选择的元素是[5]。
在最优选的实施例中,最佳的选择位置是源范围的中央。
中央位置的索引可通过如下公式被计算:
如果中央位置的索引的计算值是带有小数的,则可选择邻近的整数作为中央位置的实际使用的索引。例如,本领域公知的取整函数可被用于获得该邻近整数。通常,选择计算值的整数部分作为该中央位置的索引。
例如,对于上述源列表,在中央的所选择元素的索引为:
Indexmiddle=(0+3)/2=1.5->索引为<1>
源列表中选择的元素是[5]。
在匹配步骤中,在目标列表的对应目标范围中搜索与所选元素匹配的元素。更具体而言,该方法根据源列表和目标列表之间的预定映射关系,确定对于源列表中的所选择的元素,在目标列表中是否存在匹配元素,并且该预定映射关系可以是单调映射关系。目标列表中的匹配元素和源列表中的所选择元素之间可具有匹配关系。在一种情况中,匹配元素和所选择元素之间的匹配关系可指的是匹配元素和所选择元素具有相同的值。在另一种情况下,匹配元素和所选择元素之间的匹配关系可指的是匹配元素和所选择元素的值之间的差为预定值。
下文,将基于目标列表中的匹配元素和源列表中的所选择元素具有相同值的情况来描述匹配步骤。应注意,该匹配步骤可有效地应用于其它匹配关系,诸如匹配元素的值与所选择元素的值之间的差为预定值的状况等。
如果在目标列表中找到与源列表中的所选择元素匹配的元素,目标列表中的所找到的元素的索引将被记录以便被用作目标列表的分割位置。否则,目标范围中的两个相邻元素(也被称为节点)的索引将被记录以便用作分割目标列表的基础。
例如,
对于上述源列表和目标列表,当在目标范围中搜索元素[5]时:
所找到的位置的索引为<3>。
当在目标范围中搜索元素[6]时,
由于在目标范围中实际上不存在元素[6](即,理论匹配元素,theoretic matching element),而紧接在其之前和之后的元素分别是[5],[7],因此这两个元素是被找到的元素,并且所找到的位置的索引为<3,4>。
在分割步骤中,源列表可基于所选择的元素被分割,并且目标列表可基于匹配步骤中的匹配结果被分割。
首先,该方法检查源列表中包含的元素的数量以确定源列表是否仍可被分割。当源列表中包含的元素的数量大于1时,这意味着所选择的元素不是源列表的结束元素,因此该源列表仍可被分割,否则,源列表已被遍历,并且所有元素已都被选择,因此源列表将不能被分割,并且源列表与目标列表之间的匹配将完成。
在特定实例中,通过检查所选择元素的当前索引是否是源列表的终点(即、结束索引)来执行检查。所选择元素的当前索引为源列表的结束索引指的是源列表中的所有元素都已被选择,因此源列表与目标列表之间的匹配完成。否则,源列表中包含的元素的数量大于1,并且源列表仍可被分割。
然后,当源列表中包含的元素的数量大于1时,将分割源列表和目标列表。更具体而言,源列表将被分割成两个子源列表,并且目标列表将被相应地分割成两个子目标列表。
这两个子源列表包括第一子源列表和第二子源列表,第一子源列表包含源列表中的在所选择元素之前的所有元素,第二子源列表包含源列表中的在所选择元素之后的所有元素。
例如,
针对所选择元素的索引<1>,源范围的对分结果(bisected result)为<0,0><2,3>。
其中,前者(即,<0,0>)可被看作第一子源列表,并且后者(即,<2,3>)可被看作第二子源列表。
当源列表中的所选择元素在目标列表中具有匹配元素时,从目标列表中分割得到的两个子目标列表中的第一子目标列表包含目标列表中的在匹配元素之前的所有元素,并且从目标列表中分割得到的两个子目标列表中的第二子目标列表包含目标列表中的在匹配元素之后的所有元素;并且,当源列表中的所选择元素在目标列表中不具有匹配元素时,从目标列表中分割得到的两个子目标列表中的第一子目标列表包含目标列表中的从起始元素到紧接在潜在匹配元素之前的元素的所有元素,该潜在匹配元素指的是等于理论匹配元素(即,前面描述的匹配元素)但是在目标列表中不存在的元素,并且从目标列表中分割得到的两个子目标列表中的第二子目标列表包含目标列表中的从紧接在潜在匹配元素之后的元素到结束元素的所有元素。
例如,当源列表中的所选择元素是[5]时,在目标列表中的其的匹配元素的索引为<3>,因此针对所找到的位置<3>,目标范围的对分结果为:<0,2><4,5>。
其中,前者(即,<0,2>)可被看作第一子目标列表,并且后者(即,<4,5>)可被看作第二子目标列表。
当源列表中的所选择元素是[6]时,其在目标列表中不存在匹配元素,并且目标列表中的潜在匹配元素的两个邻近元素的索引为<3>和<4>,因此目标范围的对分结果为:<0,3><4,5>。
其中,前者(即,<0,3>)可被看作第一子目标列表,并且后者(即,<4,5>)可被看作第二子目标列表。
此后,分割得到的子源列表和子目标列表将作为下一匹配循环的基础,也就是说,将对于分割得到的子源列表和子目标列表中的每一个执行上述的选择步骤、匹配步骤和分割步骤。当各子源列表中所包含的所有元素都已被选择时,源列表与目标列表的匹配完成。更具体而言,当子源列表中所包含的元素的数量仅为1时(这意味着该元素是该子源列表中的最后的元素并且在该子源列表中的元素的选择将结束),仅对于该子源列表执行选择步骤和匹配步骤,而不执行分割步骤,并且此后该子源列表与其对应的子目标列表之间的匹配完成。当所有子源列表以及它们分别对应的子目标列表之间的匹配完成时,源列表和目标列表之间的匹配完成。
结果,该方法将子源列表中的各元素的搜索范围从该目标列表的整个范围减小至与该子源列表对应的子目标列表的范围,其仅是目标列表的整个范围的一部分。
分割得到的子源列表和子目标列表之间的对应关系如下。当源列表和目标列表以单调增映射关系彼此对应时,该第一子源列表和第二子源列表分别对应于第一子目标列表和第二子目标列表,并且当该源列表与目标列表以单调减映射关系彼此对应时,该第一子源列表和第二子源列表分别对应于第二子目标列表和第一子目标列表。
例如,对于上述源列表和目标列表的对分结果(即,子源列表的源范围<0,0><2,3>以及子目标列表的目标范围<0,2><4,5>),当源列表与目标列表具有相同顺序时,子源列表<0,0>对应于子目标列表<0,2>,并且子源列表<2,3>对应于子目标列表<4,5>。因此,源范围<0,0><2,3>以及目标范围<0,2><4,5>的对分结果的新的任务列表为:
[源范围<0,0>,目标范围<0,2>]
[源范围<2,3>,目标范围<4,5>]
相反,
当源列表与目标列表具有相反顺序时,例如,源列表为[3][5][6][8]并且目标列表为[8][7][5][4][3][1],并且仍假定源列表中所选择的元素为[5](对于此,子源列表的源范围<0,0><2,3>以及子目标列表的目标范围<0,1><3,5>),结果,子源列表<0,0>对应于子目标列表<3,5>,并且子源列表<2,3>对应于子目标列表<0,1>。因此,源范围<0,0><2,3>以及目标范围<0,1><3,5>的对分结果的新的任务列表为:
[源范围<0,0>,目标范围<3,5>]
[源范围<2,3>,目标范围<0,1>]
应注意,尽管上述描述主要针对源列表和目标列表均不具有重复元素的情况,但是其仅是说明性的,而不是限制性的。也就是说,根据该实施例的方法的分割操作可被有效地应用于源列表和目标列表的任何条件。
在一种实例中,对于至少源列表不具有重复元素的情况下,可存在源列表和目标列表均不包含重复元素的情况以及目标列表可具有重复元素的情况,当源列表中所选择的元素在目标列表中具有匹配元素时,分割得到的第一子目标列表和第二子目标列表均不包含该找到的匹配元素,其中在后一情况下,如果匹配元素在目标列表中具有重复元素,则所找到的匹配元素是该重复元素中的一个,而不是所有的重复元素。
在另一实例中,对于源列表具有重复元素的情况,不管目标列表是否具有重复元素,当源列表中的所选择的元素具有重复元素并且实际上在目标列表中具有匹配元素时,该分割步骤将被执行以使得从目标列表分割得到的两个子目标列表中的第一子目标列表包含目标列表中的在所找到的匹配元素之前的所有元素以及所找到的匹配元素本身,并且从目标列表分割得到的两个子目标列表中的第二子目标列表包含目标列表中的在所找到的匹配元素之后的所有元素以及所找到的匹配元素本身。也就是说,分割得到的第一子目标列表和第二子目标列表两者都仍包含所找到的所选择元素的匹配元素。结果,分割得到的子目标列表将覆盖用于后续匹配的尽可能宽的范围,而不会造成任何损失。
例如,当源列表为[3][5][5][6][8]且目标列表为[1][3][5][7][8],并且源列表中的所选择的元素为其中一个[5]时,分割得到的第一子目标列表将为<0,2>,并且分割得到的第二子目标列表将为<2,4>。
由此,通过根据本发明的第一实施例的方法可快速且准确地匹配两个有序列表。
图7是示出根据本发明的第一实施例的有序列表匹配设备的框图,这里有序列表包括源列表和目标列表,并且源列表和目标列表中的每一个包含至少一个元素,该源列表和目标列表以单调映射关系彼此对应。
该设备700可包含被配置为从源列表选择元素的选择单元701,被配置为在目标列表中匹配所选择的元素的匹配单元702,以及分割单元703,该分割单元703被配置为当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于所述匹配步骤的结果将目标列表分割成两个子目标列表,这两个子目标列表与所述两个子源列表以单调映射的关系一一对应,其中,对于所述两个子源列表中的每一个及其对应的子目标列表,选择单元701、匹配单元702以及分割单元703依次进行操作。
优选地,选择单元701可包括单元701-1,该单元701-1被配置为选择所述源列表中的特定选择范围中的元素,其中所述特定选择范围由所述源列表的两个黄金分割点确定,所述特定选择范围的起点和终点分别是所述两个黄金分割点中的一个黄金分割点和另一个黄金分割点。
更优选地,选择单元701可包括单元701-2,该单元701-2被配置为选择源列表中的中央位置处的元素。这两个单元701-1和701-2可相互分离,或者被并入单个计算单元中。
优选地,匹配单元702可进一步被配置为根据所述源列表和所述目标列表之间的单调映射关系,确定在目标列表中是否存在针对所述源列表中的所选择的元素的匹配元素。
优选地,分割单元703可包括源列表分割单元703-1以及目标列表分割单元703-2,所述源列表分割单元703-1被配置为分割所述源列表以使得所述两个子源列表包括第一子源列表和第二子源列表,所述第一子源列表包含所述源列表中的在所选择的元素之前的所有元素,所述第二子源列表包含所述源列表中的在所选择的元素之后的所有元素,所述目标列表分割单元703-2被配置为当所述源列表中的所选择的元素在所述目标列表中具有匹配元素时,对所述目标列表进行分割以使得所述两个子目标列表中的第一子目标列表包含所述目标列表中的在所述匹配元素之前的所有元素,并且所述两个子目标列表中的第二子目标列表包含所述目标列表中的在所述匹配元素之后的所有元素,并且当所述源列表中的所选择的元素在所述目标列表中不具有匹配元素时,对所述目标列表进行分割以使得所述两个子目标列表中的第一子目标列表包含所述目标列表中的从起始元素至紧接在潜在匹配元素之前的元素的所有元素,并且所述两个子目标列表中的第二子目标列表包含所述目标列表中的从紧接在所述潜在匹配元素之后的元素至结束元素的所有元素。这两个单元703-1和703-2可相互分离,或者可合入一个单元。
[有利效果]
使用一种文档系统来评价旧的方法(即,如图2所示的方法)和新的方法(即,如图5所示的根据本发明的第一实施例的方法)。新的方法在该文档系统中工作良好。通过使用新的方法,两个有序列表的匹配速度明显提高。
采样文档的信息如下所示:
源列表尺寸 | 100000 |
目标列表尺寸 | 1000000 |
其中,尺寸指的是列表中包含的元素的数量。
分析各方法的复杂度,可获得:
旧方法的速度为:
速度=M*logN
=100000*log1000000
=1993157
其中M和N分别代表源列表的尺寸和目标列表的尺寸。
旧方法所占用的内存为:
内存=M+N
=100000+1000000
=1100000
在从源列表的中央位置选择元素的情况下根据本发明的第一实施例的方法的速度为:
在从源列表的两个黄金分割点所确定的特定选择范围中选择元素的情况下根据本发明的第一实施例的新的方法的速度为:
新的方法所占用的内存为:
内存=3*M+N
=3*100000+1000000
=1300000
假定平台可每秒执行1000000次计算,则旧方法和新方法的性能如下:
当新方法在从源列表的中央位置选择元素的情况下
当新方法在从源列表的两个黄金分割点所确定的特定选择范围中选择元素的情况下
*经过的时间=全部匹配的经过的时间
*占用的内存大小=全部匹配期间所占用的内存大小
综上所述,根据本发明的第一实施例的方法可提高两个有序列表的匹配的速度。该方法更加有效并且可节约用户的时间,对于大规模的文档尤其如此。新方法所占用的内存大小稍大于旧方法。但是在现代计算机上,内存不再构成问题。当应对大规模的文档时,速度比所占用的内存大小更加重要。
[示例]
下文,为了有助于透彻理解根据本发明的第一实施例的方法,将参照图6A至6G描述一个示例,其中图6A至6G示出应用根据本发明的第一实施例的方法的一个示例。
在此示例中,选择位置最初设定在源列表的中央位置。应注意,在源列表的其它位置选择位置的处理将是相似的。
如图6A所示,输入两个有序列表,并且通常左侧的具有较小尺寸的列表将作为源列表并且右侧的具有较大尺寸的列表将作为目标列表。源列表和目标列表不具有重复元素并且具有相同的顺序方向。
源列表的源范围为<0,5>,并且目标列表的目标范围为<0,11>。因此,初始任务列表将为[源范围<0,5>,目标范围<0,11>]。
如图6B所示,该方法选择源列表的源范围的中央位置处的元素。利用上述公式,源范围中所选择的中央位置处的元素的索引为:
所选择的元素的索引:(0+5)/2=2.5
因此,源列表中的所选择的元素的索引为<2>,并且所选择的元素为[8]。
如图6C所示,该方法在目标列表的对应目标范围中搜索与所选择的元素匹配的元素。在此示例中,所选择的元素和匹配元素之间的匹配关系指的是这两个元素具有相同的值,因此目标列表中所找到的位置的索引为<4>。
然后,由于源列表包含一个以上的元素,因此如图6D所示,源列表和目标列表均可被分割成两个子列表。
因此,新的源范围为<0,1><3,5>;新的目标范围为<0,3><5,11>。
新的任务列表为:
[源范围<0,1>,目标范围<0,3>]
[源范围<3,5>,目标范围<5,11>]。
然后,使用新任务列表中的每一个作为当前任务列表以进一步进行处理。
例如,如图6E所示,对于任务列表[源范围<0,1>,目标范围<0,3>],
在源范围的中央位置处所选择的元素的索引为(0+1)/2=0.5,因此索引为<0>。所选择的元素为[3],因此在目标范围中所找到的位置的索引为<1>。
并且,新的任务列表将是[源范围<1,1>,目标范围<2,3>]。
下文,如图6F所示,对于任务列表[源范围<1,1>,目标范围<2,3>]:
在源范围的中央位置处所选择的元素的索引为(1+1)/2=1,因此所选择的元素为[7]。从而,目标范围中所找到的位置的索引为<3>。
由于当前源范围<1,1>仅具有一个元素,这意味着当前源范围中的所有元素都已被选择和处理,因此对应的目标范围不需要被分割,并且当前子源列表及其对应的子目标列表之间的匹配已经完成。
另外的源范围和目标范围,即任务列表[源范围<3,5>,目标范围<5,11>]将被类似地递归处理。当源列表中的所有元素被搜索时,如图6G所示,可获得所有找到的位置的信息。
最终匹配结果如下:
目标列表中的匹配的索引为:<1><3><4><6><7><10>。
应注意,当对于源列表中选择的元素不存在匹配元素时,最终匹配结果中的匹配索引将表达为<NULL>。
尽管在本示例中,所选择的元素和匹配元素之间的匹配关系指的是这两个元素具有相同的值,但是也可使用其它匹配规则,例如,所选择的元素和匹配元素之间的匹配关系指的是这两个元素的值之间的差是预定值。
[第二实施例]
将参照图8描述根据本发明的第二实施例的方法,其中图8示出根据本发明的第二实施例的文档字符匹配方法的流程图。
如上所述,在当前索引系统(诸如FTS)中,文档中的字符通常被处理以获得各字符的有序列表,并且所获得的有序列表将用于文档中的匹配。
鉴于上文,根据本发明的第二实施例的方法用于文档字符匹配,其中字符将作为索引的基础。尽管根据本发明的第二实施例的方法对文档中的字符执行处理,但是该方法也可用于文档中的单词、词干等,其中单词、词干等将作为索引的基础。
在步骤S801中,该方法分别对文档中包含的字符和要被匹配的字符进行索引,以便获得字符的有序索引列表和要被匹配的字符的有序索引列表。
在步骤S802中,该方法将根据本发明的第一实施例的方法应用于分别作为源列表和目标列表的字符的有序索引列表和要被匹配的字符的有序索引列表,以便实现匹配。
图9是示出根据本发明的第二实施例的文档字符识别设备的框图。
设备900可包括被配置为分别对文档中包含的字符和要被匹配的字符进行索引以便获得字符的有序索引列表和要被匹配的字符的有序索引列表的单元901,以及被配置为将根据本发明的第一实施例的方法应用于分别作为源列表和目标列表的字符的有序索引列表和要被匹配的字符的有序索引列表以便实现匹配的单元902。
[有利效果]
考虑到根据本发明的第二实施例的方法利用了根据本发明的第一实施例的方法,文档字符匹配方法也可实现有利效果。也就是说,该方法可提高文档字符匹配的速度。该方法更加有效并且可节约用户的时间,对于大规模的文档尤其如此。该方法所占用的内存大小稍大,但是在现代计算机上,内存不构成问题。当应对大规模的文档时,速度比所占用的内存大小更加重要。
另外,可采用多种方式来实行本发明的方法和系统。例如,可通过软件、硬件、固件或它们的任何组合来实行本发明的方法和系统。上文所述的该方法的步骤的顺序仅是说明性的,并且除非另外具体说明,否则本发明的方法的步骤不限于上文具体描述的顺序。此外,在一些实施例中,本发明还可具体化为记录介质中记录的程序,包括用于实施根据本发明的方法的机器可读指令。因此,本发明还涵盖了存储用于实施根据本发明的方法的程序的记录介质。
虽然已经参考示例实施例描述了本发明,应当理解,本发明不限于公开的示例实施例。下面的权利要求的范围将被给予最宽泛的解释,以便包含所有这些修改以及等同结构和功能。
Claims (26)
1.一种有序列表匹配方法,所述有序列表包括源列表和目标列表,该源列表和目标列表中的每一个包含至少一个元素,并且该源列表和目标列表以单调映射关系彼此对应,该方法包括:
选择步骤,用于从源列表选择元素;
匹配步骤,用于在目标列表中匹配所选择的元素;以及
分割步骤,用于当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于所述匹配步骤的结果将目标列表分割成两个子目标列表,这两个子目标列表与所述两个子源列表以所述单调映射关系一一对应,
其中,对于所述两个子源列表中的每一个及其对应的子目标列表,依次执行所述选择步骤、所述匹配步骤和所述分割步骤。
2.根据权利要求1所述的方法,其中,所述选择步骤包括:
选择所述源列表中的特定选择范围中的元素,
其中,所述特定选择范围由所述源列表的两个黄金分割点确定,所述特定选择范围的起点和终点分别是一个黄金分割点和另一个黄金分割点。
3.根据权利要求1所述的方法,其中,所述选择步骤包括:
选择所述源列表的中央位置处的元素。
4.根据权利要求1所述的方法,其中,所述匹配步骤包括:
根据所述单调映射关系,确定在目标列表中是否存在针对所述源列表中的所选择的元素的匹配元素。
5.根据权利要求4所述的方法,其中,所述匹配元素和所选择的元素之间的匹配关系是所述匹配元素与所选择的元素具有相同的值。
6.根据权利要求4所述的方法,其中,所述匹配元素和所选择的元素之间的匹配关系是所述匹配元素与所选择的元素的值之间的差为预定值。
7.根据权利要求1所述的方法,其中,基于所选择的元素将所述源列表分割成两个子源列表包括:
分割所述源列表以使得所述两个子源列表包括第一子源列表和第二子源列表,所述第一子源列表包含所述源列表中的在所选择的元素之前的所有元素,所述第二子源列表包含所述源列表中的在所选择的元素之后的所有元素。
8.根据权利要求1所述的方法,其中,基于所述匹配步骤的结果将所述目标列表分割成两个子目标列表包括:
当所述源列表中的所选择的元素在所述目标列表中具有匹配元素时,对所述目标列表进行分割以使得所述两个子目标列表中的第一子目标列表包含所述目标列表中的在所述匹配元素之前的所有元素,并且所述两个子目标列表中的第二子目标列表包含所述目标列表中的在所述匹配元素之后的所有元素;并且
当所述源列表中的所选择的元素在所述目标列表中不具有匹配元素时,对所述目标列表进行分割以使得所述两个子目标列表中的第一子目标列表包含所述目标列表中的从起始元素至紧接在潜在匹配元素之前的元素的所有元素,并且所述两个子目标列表中的第二子目标列表包含所述目标列表中的从紧接在所述潜在匹配元素之后的元素至结束元素的所有元素。
9.根据权利要求8所述的方法,其中,如果所选择的元素在所述源列表中具有重复元素,并且所述源列表中的所选择的元素在所述目标列表中具有匹配元素时,所述第一子目标列表和所述第二子目标列表均还包含所述匹配元素。
10.根据权利要求7-9中任一项所述的方法,
其中,当所述源列表和所述目标列表以单调增的映射关系彼此对应时,所述第一子源列表对应于所述第一子目标列表,并且所述第二子源列表对应于所述第二子目标列表;并且
其中,当所述源列表和所述目标列表以单调减的映射关系彼此对应时,所述第一子源列表对应于所述第二子目标列表,并且所述第二子源列表对应于所述第一子目标列表。
11.根据权利要求10所述的方法,其中,所述单调增的映射关系指的是所述源列表和所述目标列表具有相同顺序,并且所述单调减的映射关系指的是所述源列表和所述目标列表具有相反顺序。
12.根据权利要求1所述的方法,其中,所述源列表中包含的元素的数量远小于所述目标列表中包含的元素的数量。
13.一种文档字符匹配方法,包括:
分别对文档中包含的字符以及要被匹配的字符进行索引,以便获得所述字符的有序索引列表以及所述要被匹配的字符的有序索引列表;以及
将根据权利要求1-12中任一项所述的方法应用于分别作为源列表和目标列表的所述字符的有序索引列表以及所述要被匹配的字符的有序索引列表,以便实现匹配。
14.一种有序列表匹配设备,所述有序列表包括源列表和目标列表,该源列表和目标列表中的每一个包含至少一个元素,并且该源列表和目标列表以单调映射关系彼此对应,该设备包括:
选择单元,被配置为从源列表选择元素;
匹配单元,被配置为在目标列表中匹配所选择的元素;以及
分割单元,被配置为当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于所述匹配单元所获得的结果将目标列表分割成两个子目标列表,这两个子目标列表与所述两个子源列表以所述单调映射关系一一对应,
其中,对于所述两个子源列表中的每一个及其对应的子目标列表,依次由所述选择单元、所述匹配单元和所述分割单元处理。
15.根据权利要求14所述的方法,其中,所述选择单元包括:
被配置为选择所述源列表中的特定选择范围中的元素的单元,
其中,所述特定选择范围由所述源列表的两个黄金分割点确定,所述特定选择范围的起点和终点分别是一个黄金分割点和另一个黄金分割点。
16.根据权利要求14所述的设备,其中,所述选择单元包括:
被配置为选择所述源列表的中央位置处的元素的单元。
17.根据权利要求14所述的设备,其中,所述匹配单元还被配置为根据所述单调映射关系,确定在目标列表中是否存在针对所述源列表中的所选择的元素的匹配元素。
18.根据权利要求17所述的设备,其中,所述匹配元素和所选择的元素之间的匹配关系是所述匹配元素与所选择的元素具有相同的值。
19.根据权利要求17所述的设备,其中,所述匹配元素和所选择的元素之间的匹配关系是所述匹配元素与所选择的元素的值之间的差为预定值。
20.根据权利要求14所述的设备,其中,所述分割单元进一步包括:
被配置为分割所述源列表以使得所述两个子源列表包括第一子源列表和第二子源列表的单元,所述第一子源列表包含所述源列表中的在所选择的元素之前的所有元素,所述第二子源列表包含所述源列表中的在所选择的元素之后的所有元素。
21.根据权利要求14所述的设备,其中,所述分割单元进一步包括被配置为
当所述源列表中的所选择的元素在所述目标列表中具有匹配元素时,对所述目标列表进行分割以使得所述两个子目标列表中的第一子目标列表包含所述目标列表中的在所述匹配元素之前的所有元素,并且所述两个子目标列表中的第二子目标列表包含所述目标列表中的在所述匹配元素之后的所有元素的单元;并且
当所述源列表中的所选择的元素在所述目标列表中不具有匹配元素时,对所述目标列表进行分割以使得所述两个子目标列表中的第一子目标列表包含所述目标列表中的从起始元素至紧接在潜在匹配元素之前的元素的所有元素,并且所述两个子目标列表中的第二子目标列表包含所述目标列表中的从紧接在所述潜在匹配元素之后的元素至结束元素的所有元素的单元。
22.根据权利要求21所述的设备,其中,如果所选择的元素在所述源列表中具有重复元素,并且所述源列表中的所选择的元素在所述目标列表中具有匹配元素时,所述第一子目标列表和所述第二子目标列表均还包含所述匹配元素。
23.根据权利要求20-22中任一项所述的设备,
其中,当所述源列表和所述目标列表以单调增的映射关系彼此对应时,所述第一子源列表对应于所述第一子目标列表,并且所述第二子源列表对应于所述第二子目标列表;并且
其中,当所述源列表和所述目标列表以单调减的映射关系彼此对应时,所述第一子源列表对应于所述第二子目标列表,并且所述第二子源列表对应于所述第一子目标列表。
24.根据权利要求23所述的设备,其中,所述单调增的映射关系指的是所述源列表和所述目标列表具有相同顺序,并且所述单调减的映射关系指的是所述源列表和所述目标列表具有相反顺序。
25.根据权利要求14所述的设备,其中,所述源列表中包含的元素的数量远小于所述目标列表中包含的元素的数量。
26.一种文档字符匹配设备,包括:
被配置为分别对文档中包含的字符以及要被匹配的字符进行索引,以便获得所述字符的有序索引列表以及所述要被匹配的字符的有序索引列表的单元;以及
被配置为将根据权利要求1-12中任一项所述的方法应用于分别作为源列表和目标列表的所述字符的有序索引列表以及所述要被匹配的字符的有序索引列表,以便实现匹配的单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310018781.2A CN103942200B (zh) | 2013-01-18 | 2013-01-18 | 有序列表匹配方法和设备、文档字符匹配方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310018781.2A CN103942200B (zh) | 2013-01-18 | 2013-01-18 | 有序列表匹配方法和设备、文档字符匹配方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942200A true CN103942200A (zh) | 2014-07-23 |
CN103942200B CN103942200B (zh) | 2017-08-18 |
Family
ID=51189870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310018781.2A Active CN103942200B (zh) | 2013-01-18 | 2013-01-18 | 有序列表匹配方法和设备、文档字符匹配方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942200B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2284079A (en) * | 1993-11-19 | 1995-05-24 | Hewlett Packard Co | Sorting or merging lists |
EP0878766A2 (en) * | 1997-05-16 | 1998-11-18 | Digital Equipment Corporation | Method for converting formatted documents to ordered word lists |
US6266665B1 (en) * | 1998-11-13 | 2001-07-24 | Microsoft Corporation | Indexing and searching across multiple sorted arrays |
US20030028867A1 (en) * | 1998-09-01 | 2003-02-06 | Kryloff Sergey A. | Software patch generator |
CN1612100A (zh) * | 2003-10-27 | 2005-05-04 | 陈启星 | 分级定位排序和分级定位查找的动态查找表的算法 |
CN102262526A (zh) * | 2010-05-31 | 2011-11-30 | 迈普通信技术股份有限公司 | 有序树表分段遍历方法以及软件处理系统 |
-
2013
- 2013-01-18 CN CN201310018781.2A patent/CN103942200B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2284079A (en) * | 1993-11-19 | 1995-05-24 | Hewlett Packard Co | Sorting or merging lists |
EP0878766A2 (en) * | 1997-05-16 | 1998-11-18 | Digital Equipment Corporation | Method for converting formatted documents to ordered word lists |
US20030028867A1 (en) * | 1998-09-01 | 2003-02-06 | Kryloff Sergey A. | Software patch generator |
US6266665B1 (en) * | 1998-11-13 | 2001-07-24 | Microsoft Corporation | Indexing and searching across multiple sorted arrays |
CN1612100A (zh) * | 2003-10-27 | 2005-05-04 | 陈启星 | 分级定位排序和分级定位查找的动态查找表的算法 |
CN102262526A (zh) * | 2010-05-31 | 2011-11-30 | 迈普通信技术股份有限公司 | 有序树表分段遍历方法以及软件处理系统 |
Non-Patent Citations (3)
Title |
---|
周燕等: "基于有序二叉树的快速多模式字符串匹配算法", 《计算机工程》 * |
罗南超等: "一种改进的新二分查找算法的研究与实现", 《计算机时代》 * |
蒋盛益: "两个特殊的查找算法", 《衡阳师范学院学报(自然科学)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN103942200B (zh) | 2017-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6134556A (en) | Method for searching a triangle corresponding to a location of an object moving on trigonometric grids | |
CN109033244B (zh) | 搜索结果排序方法和装置 | |
WO2012060866A1 (en) | Determination of category information using multiple stages | |
CN105550225A (zh) | 索引构建方法、查询方法及装置 | |
US20090106229A1 (en) | Linear combination of rankers | |
CN109145003B (zh) | 一种构建知识图谱的方法及装置 | |
CN111506608A (zh) | 一种结构化文本的比较方法和装置 | |
CN111159563A (zh) | 用户兴趣点信息的确定方法、装置、设备及存储介质 | |
CN111143359A (zh) | 查询语句生成方法及装置 | |
WO2020073526A1 (zh) | 基于信任网络的推送方法、装置、计算机设备及存储介质 | |
CN105989001A (zh) | 图像搜索方法及装置、图像搜索系统 | |
CN110427574B (zh) | 路线相似度确定方法、装置、设备和介质 | |
CN113407536A (zh) | 表数据的关联方法、装置、终端设备及介质 | |
CN114565768A (zh) | 图像分割方法及装置 | |
US10346716B2 (en) | Fast joint template machining | |
CN109697234B (zh) | 实体的多属性信息查询方法、装置、服务器和介质 | |
US7805667B2 (en) | System and method for identifying target node graphs from predetermined seed node subsets | |
CN103942200A (zh) | 有序列表匹配方法和设备、文档字符匹配方法和设备 | |
CN106815221A (zh) | 一种电信业务关系判定方法及装置 | |
CN112015911B (zh) | 一种海量知识图谱检索的方法 | |
CN111881255B (zh) | 同义文本获取方法、装置、电子设备及存储介质 | |
CN111506756B (zh) | 相似图片的查找方法及系统、电子设备、存储介质 | |
CN103268614A (zh) | 一种用于多前景共分割的前景谱图生成方法 | |
CN104796478A (zh) | 一种资源推荐方法及装置 | |
CN103106283B (zh) | 去重处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |