CN111353277A - 节点编码方法和装置以及确定节点从属关系的方法 - Google Patents
节点编码方法和装置以及确定节点从属关系的方法 Download PDFInfo
- Publication number
- CN111353277A CN111353277A CN202010129614.5A CN202010129614A CN111353277A CN 111353277 A CN111353277 A CN 111353277A CN 202010129614 A CN202010129614 A CN 202010129614A CN 111353277 A CN111353277 A CN 111353277A
- Authority
- CN
- China
- Prior art keywords
- node
- code
- nodes
- new
- new node
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000003780 insertion Methods 0.000 claims description 29
- 230000037431 insertion Effects 0.000 claims description 29
- 238000012384 transportation and delivery Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 9
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 235000019580 granularity Nutrition 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Computational Linguistics (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种节点编码方法和装置以及确定节点从属关系的方法,涉及计算机技术领域。该节点编码方法的一具体实施方式包括:确定形成树形结构的多个节点中根节点的编码;对于所述多个节点中的其它任一节点,将该节点的父节点的编码与所述任一节点的顺序码组合为所述任一节点的编码;在向所述树形结构***新节点时,如果***后的新节点左右侧都具有兄弟节点,则构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码。该实施方式能够为形成树形结构的节点设置稳定性高且利于分类的编码。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种节点编码方法和装置以及确定节点从属关系的方法。
背景技术
在当前的物流应用中,往往为快递设置无实际含义的随机数或随机字符串作为编码进行标识,这种编码无法作为分类依据,从而影响线上线下的查询速度。
发明内容
有鉴于此,本发明实施例提供一种节点编码方法和装置以及确定节点从属关系的方法,能够为形成树形结构的节点设置稳定性高且利于分类的编码。
为实现上述目的,根据本发明的一个方面,提供了一种节点编码方法。
本发明实施例的节点编码方法用于对形成树形结构的多个节点编码;所述方法包括:确定所述多个节点中根节点的编码;对于所述多个节点中的其它任一节点,将该节点的父节点的编码与所述任一节点的顺序码组合为所述任一节点的编码;其中,所述多个节点的顺序码被一致地设置为奇数或被一致地设置为偶数;在任一节点具有多个子节点时,所述多个子节点的顺序码为连续的奇数或偶数;在向所述树形结构***新节点时,如果***后的新节点左右侧都具有兄弟节点,则构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码;其中,虚拟节点编码中的顺序码为所述兄弟节点顺序码的平均值,虚拟节点编码中的其它部分与所述兄弟节点相同,新节点的顺序码与所述多个节点保持相同奇偶性。
可选地,所述方法还包括:在向所述树形结构***新节点时,如果***后的新节点不具有兄弟节点,则将该新节点的父节点的编码与该新节点的顺序码组合为该新节点的编码;其中,该新节点的顺序码与所述多个节点保持相同奇偶性。
可选地,在所述多个节点中的任一节点具有多个子节点时,所述多个子节点的顺序码从左到右依次增加;所述方法还包括:在向所述树形结构***新节点时:如果***后的新节点具有左侧兄弟节点但不具有右侧兄弟节点,则将所述左侧节点编码中的顺序码加二形成该新节点的编码;如果***后的新节点具有右侧兄弟节点但不具有左侧兄弟节点,则将所述右侧节点编码中的顺序码减二形成该新节点的编码。
可选地,所述方法还包括:在向所述树形结构***新节点时:如果***后的新节点在左侧具有作为兄弟节点的第一类型节点、且右侧不具有作为兄弟节点的第一类型节点,则将该新节点左侧的第一类型节点的编码中的顺序码加二形成该新节点的编码;其中,第一类型节点的编码由虚拟节点的编码与第一类型节点的顺序码组合形成;如果***后的新节点在右侧具有作为兄弟节点的第一类型节点、且左侧不具有作为兄弟节点的第一类型节点,则将该新节点右侧的第一类型节点的编码中的顺序码减二形成该新节点的编码。
可选地,所述方法还包括:在向所述树形结构***新节点时,如果***后的新节点左右侧都具有作为兄弟节点的第一类型节点,则构建虚拟节点,并将该虚拟节点的编码与该新节点的顺序码组合为该新节点的编码;其中,该虚拟节点编码中的顺序码为该第一类型节点顺序码的平均值,该虚拟节点编码中的其它部分与该第一类型节点相同,该新节点的顺序码与所述多个节点保持相同奇偶性。
可选地,将节点编码与顺序码组合包括:将顺序码添加在节点编码之后并使用分隔符隔开;所述节点包括物品及物品集合、快递及快递集合、或者可扩展标记语言XML文档树中的节点。
为实现上述目的,根据本发明的另一方面,提供了一种依据所述节点编码确定节点从属关系的方法。其中,所述多个节点的顺序码都为奇数;除根节点之外的任一节点的编码由被分隔符隔开的码元组成。
本发明实施例的确定节点从属关系的方法包括:对于任一节点,在该节点编码的最右端码元和次右端码元均为奇数时,将该节点确定为目标节点的子节点;其中,目标节点的编码是该任一节点的编码去除最右端码元剩余的部分;对于任意多个节点,在该多个节点的编码中具有相同前缀且该相同前缀的最右端码元为奇数时,确定该多个节点从属于以该相同前缀作为编码的节点。
为实现上述目的,根据本发明的另一方面,提供了一种节点编码装置。
本发明实施例的节点编码装置用于对形成树形结构的多个节点编码;所述装置可包括:根节点编码单元,用于确定所述多个节点中根节点的编码;后裔节点编码单元,用于:对于所述多个节点中的其它任一节点,将该节点的父节点的编码与所述任一节点的顺序码组合为所述任一节点的编码;其中,所述多个节点的顺序码被一致地设置为奇数或被一致地设置为偶数;在任一节点具有多个子节点时,所述多个子节点的顺序码为连续的奇数或偶数;***节点编码单元,用于:在向所述树形结构***新节点时,如果***后的新节点左右侧都具有兄弟节点,则构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码;其中,虚拟节点编码中的顺序码为所述兄弟节点顺序码的平均值,虚拟节点编码中的其它部分与所述兄弟节点相同,新节点的顺序码与所述多个节点保持相同奇偶性。
为实现上述目的,根据本发明的又一方面,提供了一种电子设备。
本发明的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的节点编码方法或确定节点从属关系的方法。
为实现上述目的,根据本发明的再一方面,提供了一种计算机可读存储介质。
本发明的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的节点编码方法或确定节点从属关系的方法。
根据本发明的技术方案,上述发明中的一个实施例具有如下优点或有益效果:在对树形结构的任一节点编码时,将该节点的父节点编码与该节点顺序码组合为该节点编码,其中,每一节点的顺序码被一致地设置为奇数或偶数,相邻兄弟节点的顺序码为连续的奇数或偶数。本发明还提供了向树形结构不同位置***新节点时的编码方法,例如当新节点左右侧都具有兄弟节点时,可以构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码。上述编码方式具有以下优点:
1.稳定性高。在树形结构***新节点时,原有节点的编码以及相互关系保持不变。
2.有序性强。编码大小能够体现节点在树形结构的位置,通过编码中的码元个数能够判断节点所处层级。
3.利于分类。任意多个节点可以根据是否具有相同前缀以及相同前缀的最右端码元是否为奇数来判断是否属于同一类别,从而有助于节点管理和查询。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例中节点编码方法的主要步骤示意图;
图2是本发明实施例的树形结构以及其中节点编码的示意图;
图3是在向图2所示树形结构***新节点以及各节点编码的示意图;
图4是在向图3所示树形结构***新节点的示意图;
图5是图4对应的节点编码示意图;
图6是在向图4所示树形结构***新节点的示意图;
图7是图6对应的节点编码示意图;
图8是在向图6所示树形结构***新节点的示意图;
图9是图8对应的节点编码示意图;
图10是本发明实施例中节点编码装置的组成部分示意图;
图11是本发明实施例中二分法查询与遍历查询效果对比示意图;
图12是本发明实施例中线下物品查询流程示意图;
图13是根据本发明实施例可以应用于其中的示例性***架构图;
图14是用来实现本发明实施例中节点编码方法的电子设备结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明可以用于对形成树形结构的多个节点进行编码,这些节点可以对应于实际应用中的任何对象,例如物流领域的快递(即快递包裹)以及快递集合、电商领域的物品(例如商品)以及物品集合、计算机技术领域的XML(eXtensible Markup Language,可扩展标记语言)文档树节点(即XML文档的元素)。以物流领域为例,本发明实施例的树形结构中的各层级节点可以对应于具体的快递以及快递组成的集合,例如,可以将配送地址为A城市的所有快递组成的集合作为根节点(根节点处于第一层级)、将配送地址为A城市B区的所有快递组成的集合以及配送地址为A城市H区的所有快递组成的集合作为不同的第二层级节点,将配送地址为A城市B区C街道的所有快递组成的集合作为第三层级节点、将配送地址为A城市B区C街道的每一快递作为第四层级节点,这些节点之间存在从属关系或并列关系,因此能够形成树形结构。上述节点通过配送地址进行划分,但是对节点进行划分的不限于配送地址,可以是任何需要的维度,例如快递重量、快递大小。例如,可以将配送地址为A城市的所有快递组成的集合作为根节点、将配送地址为A城市的较重的快递、重量适中的快递以及较轻的快递组成的集合(较重、重量适中、较轻可根据预设规则判断)作为不同的第二层级节点,将配送地址为A城市的较重的快递中体积较大、体积适中以及体积较小的快递组成的集合(体积较大、体积适中、体积较小可根据预设规则判断)作为不同的第三层级节点,将第三层级每一集合中的快递作为第四层级节点。可以理解,通过类似方式,能够将电商领域的具体物品以及物品集合(例如各级类目)对应于不同层级节点,将XML文档树各元素对应于不同层级节点。可以理解,以上说明并不对本发明的应用场景形成任何限制。
在现有技术中,一般为每一快递或每一物品设置一个没有实际含义的随机数或者随机字符串作为编码,该编码仅具有标识作用,无法用于快递或物品的分类,查询快递或物品时往往需要在未分类的大量快递或物品中进行人工比对,导致查询速度较慢,本发明提供的节点编码方法能够解决这一问题。需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
图1是根据本发明实施例中方法的主要步骤示意图。
如图1所示,本发明实施例的方法可具体按照如下步骤执行:
步骤S101:确定形成树形结构的多个节点中根节点的编码。
树是一种非线性数据结构,其是由多个节点组成的具有层次关系的集合。本发明实施例的树形结构可以对应于一棵整体树(例如图2所示的由节点A、B、C、D组成的树),也可以对应于从整体树的某一节点扩展出来的子树(例如图2中从节点B扩展出来的子树,节点B为该子树的根节点),该节点即为该子树的根节点。对于前一种情况(即树形结构对应于整体的树),可以通过两种方式设置根节点编码。在第一种方式中,将根节点按照其后裔节点(包括子节点、孙节点、曾孙节点等)的编码规则设置编码,例如,如果后裔节点编码中的顺序码(顺序码的概念将在下文说明)均限制为奇数,在第一种方式中可将根节点编码或根节点编码的最右端码元(码元的概念将在下文说明)设置为奇数,这种根节点编码方式可使根节点与其后裔节点具有一致性,从而为后续处理提供便利。在第二种方式中,可将根节点编码设置为任意数字、字符或字符串,不需遵守其后裔节点的编码规则,例如将根节点设置为相应的配送地址:A市B区或者A——B。对于后一种情况(即树形结构对应于整体树中的子树),根节点编码可以根据整体树中的编码规则设置,整体树中的编码规则可以与以下将进行说明的编码规则相同。在以下说明中,将主要以前一种情况的第一种根节点编码方式进行介绍。
步骤S102:对于多个节点中的其它任一节点,将该节点的父节点的编码与所述任一节点的顺序码组合为所述任一节点的编码。
在本步骤中,上述多个节点为当前存在于树形结构的节点即树形结构的原有节点,其与下文将要说明的***的新节点相对。可以理解,相对于某一时刻***树形结构的新节点而言,之前***的节点也属于原有节点,本步骤中的其它节点指的是树形结构中根节点以外的节点。
在本发明实施例中,任一节点的编码可以是一个单独数字,也可以由被分隔符(例如“.”)隔开的多个数字组成,以上的单独数字或者被分隔符隔开的任一数字均为一个码元。在任一节点编码中,最右端码元指的是处于最右位置的码元,次右端码元指的是最右端码元左侧的码元,前缀指的是从最左端码元开始的一个或多个连续码元以及相应的分隔符组成的编码。例如,在节点编码1.2.3.4中,最右端码元是4,次右端码元是3,前缀包括1、1.2、1.2.3以及1.2.3.4。顺序码一般是节点编码中的最右端码元,特别地,本发明将树形结构中每一节点的顺序码一致地设置为奇数或一致地设置为偶数,即在同一树形结构中,每一节点的顺序码要么都是奇数,要么都是偶数,不存在奇数偶数混合的情况。同时,在任一节点具有多个子节点时,多个子节点的顺序码为连续的奇数或偶数,即相邻的或者连续的兄弟节点的顺序码为连续的奇数或偶数。以上节点、子节点和兄弟节点指的是均是树形结构的真实节点,不包括下文将要说明的虚拟节点。以下将以顺序码均为奇数的情况进行说明,可以理解,顺序码均为偶数(在本文中可以将零作为偶数)的情况与此类似。
图2是本发明实施例的树形结构以及其中节点编码的示意图,图3是在向图2所示树形结构***新节点以及各节点编码的示意图,图4是在向图3所示树形结构***新节点的示意图,图5是图4对应的节点编码示意图,图6是在向图4所示树形结构***新节点的示意图,图7是图6对应的节点编码示意图,图8是在向图6所示树形结构***新节点的示意图,图9是图8对应的节点编码示意图。在图2到图9中,没有背景的实线圆标记的节点为原有节点,填充有灰度背景的圆标记的节点为***的新节点,虚线圆标记的节点为虚拟节点。以下将以图2到图9说明本发明实施例的编码方法。
如图2所示,通过步骤S101根节点A的编码已被设置为1,此时根据步骤S102设置其它节点编码。对于节点B、C,将父节点A的编码与顺序码组合,即可得到二者编码。实际应用中,将节点编码与顺序码组合可以是将顺序码添加在节点编码之后并使用分隔符隔开。每一层级的顺序码可以从任何一个奇数开始,示例性地,在本发明实施例中,每一层级的顺序码都从1开始。对于连续的多个兄弟节点来说,顺序码可以从左到右依次增加或依次减少,以下将以从左到右依次增加的情况进行说明。这样,对于节点B来说,将其父节点A的编码1与顺序码1组成即可得到其编码1.1。采用同样方式可以得到节点C的编码为1.3,得到节点D的编码为1.1.1。
如图3所示,在向树形结构***新节点F时,***后的新节点F具有左侧兄弟节点C(左侧兄弟节点指的是处在左侧的相邻兄弟节点)但不具有右侧兄弟节点(右侧兄弟节点指的是处在右侧的相邻兄弟节点),此时将左侧节点C编码1.3中的顺序码3加2形成新节点F的编码,即1.5。
在向树形结构***新节点E时,***后的新节点E具有右侧兄弟节点B但不具有左侧兄弟节点,则将右侧节点B编码1.1中的顺序码1减2形成该新节点E的编码1.-1。在向树形结构***新节点G时,***后的新节点G不具有兄弟节点,此时将新节点G的父节点E的编码1.-1与新节点G的顺序码1组合为新节点G的编码1.-1.1。可以理解,新节点的顺序码需要与原有节点保持相同奇偶性(即如果原有节点的顺序码均为奇数,新节点的顺序码也为奇数)。
步骤S103:在向树形结构***新节点时,如果***后的新节点左右侧都具有兄弟节点,则构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码。
在本发明实施例中,虚拟节点不属于树形结构的真实节点,仅用于相关节点的编码设置。如图4、5所示,在向树形结构***新节点H时,***后的新节点H左右侧都具有兄弟节点B、C,此时可以构建虚拟节点Z,其顺序码可以是上述兄弟节点B、C顺序码1、3的平均值2,虚拟节点Z编码中的其它部分与兄弟节点B、C相同,即虚拟节点Z的编码为1.2。之后,将虚拟节点的编码1.2与新节点H的顺序码1组合为新节点H的编码1.2.1。可以理解,新节点H的顺序码需要与原有节点保持相同奇偶性。
如图6、7所示,在向树形结构***新节点K时,***后的新节点K在左侧具有作为兄弟节点的第一类型节点H(第一类型节点指的是由虚拟节点的编码与顺序码组合形成编码的节点,也可以理解为虚拟节点的子节点)、且右侧不具有作为兄弟节点的第一类型节点,此时可将新节点K左侧的第一类型节点H的编码1.2.1中的顺序码1加2形成新节点K的编码1.2.3。可以看到,新节点K的编码也由虚拟节点Z的编码1.2与顺序码3组成而成,因此K也属于第一类型节点。
同理,在向树形结构***新节点J时,***后的新节点J在右侧具有作为兄弟节点的第一类型节点H、且左侧不具有作为兄弟节点的第一类型节点,此时可将新节点J右侧的第一类型节点H的编码1.2.1中的顺序码1减2形成新节点J的编码1.2.-1,新节点J也属于第一类型节点。
如图8、9所示,在向树形结构***新节点L时,***后的新节点L左右侧都具有作为兄弟节点的第一类型节点H、K,此时可以构建虚拟节点Y,虚拟节点Y编码中的顺序码为第一类型节点H、K顺序码1、3的平均值2,虚拟节点Y编码中的其它部分与第一类型节点H、K相同,即虚拟节点Y的编码为1.2.2。此后可以将虚拟节点Y的编码与新节点L的顺序码1组合为新节点L的编码1.2.2.1。可以理解,该新节点的顺序码需要与原有节点保持相同奇偶性。
通过以上方式,即可设置任何***节点的编码。具体应用中,节点***位置可以根据待***节点与原有节点的从属关系和其它预设关系确定。例如,可以根据待***节点与原有节点的从属关系和重要性比较情况确定***位置(例如,较为重要的节点居右)。以图8为例,如果要***节点A的子节点,同时该子节点的重要性介于节点H、L之间,则***位置为节点H、L之间,***之后节点H、L分别为其左右侧兄弟节点。如果要***节点B的子节点,同时该子节点的重要性小于节点D,则***位置为节点D左侧,***之后节点D为其右侧兄弟节点。
如果将***后的新节点的右侧兄弟节点作为参照节点,则可以将以上编码规则概括如下:
1.除了根节点之外,各节点的编码为其父节点编码与顺序码的组合。各兄弟节点的顺序码为连续的奇数或偶数。
2.如果新节点***后不存在参照节点,但是存在左侧兄弟节点,则将左侧兄弟节点的顺序码加二形成新节点的编码。
3.如果新节点***后不存在左侧兄弟节点,但是存在参照节点,则将参照节点的顺序码减二形成新节点编码。
4.如果***新节点后既有参照节点又有左侧兄弟节点,则构建虚拟节点,虚拟节点的编码通过参照节点顺序码减一形成。之后,将新节点作为虚拟节点的子节点进行编码。
5.如果***新节点后既有参照节点又有位于左侧的虚拟节点,则将新节点作为虚拟节点的子节点,并将该虚拟节点最右侧子节点的顺序码加二形成新节点的顺序码,将虚拟节点编码与形成的顺序码组合形成新节点的编码。
6.如果***新节点后既有左兄弟节点又有位于右侧的虚拟节点,则将新节点作为虚拟节点的子节点,并将该虚拟节点最左侧子节点的顺序码减二形成新节点的顺序码,将虚拟节点编码与形成的顺序码组合形成新节点的编码。
7.如果***后的新节点为某父节点的子节点,则将该父节点的编码与新节点的顺序码组合为新节点的编码,新节点的顺序码由其***位置决定。
8.需要删除树形结构中的某节点时直接删除即可,其它节点的编码不会改变。
上述编码方式具有以下特点:首先,稳定性高。具体地,在树形结构***新节点时,原有节点的编码以及相互关系保持不变,该特点避免了新节点***时原有节点编码的调整,减轻或消除了数据更新代价。其次,有序性强。具体地,通过比较节点编码大小能够判断节点在树形结构的位置。其中,在比较节点编码时,从最左端码元开始比较,码元在比较中的权重值从左到右逐渐下降。也就是说,比较两个节点的编码时,首先比较最左端码元,最左端码元较大者其编码较大;如果最左端码元相等,则比较右侧的下一码元,下一码元较大者其编码较大;如果该下一码元相等,则比较该下一码元右侧的码元……。例如,编码1.1大于编码1.0.3.9。以图8为例,由于节点L的编码1.2.2.1大于节点B的编码1.1且小于节点C的编码1.3,因此可以判断节点L位于B、C之间的区域。可以理解,如果节点位置与预设特征(如前述重要性)相关,则可以通过判断两个节点的编码大小确定其重要性大小情况。例如,节点F的编码1.5大于节点L的编码1.2.2.1,则F的重要性大于L。
上述编码方式也可以用于判断节点所处层级。具体地,对于编码中不含偶数码元的节点,码元数即为其所处层级。例如,在图8中,节点E的编码1.-1的码元数为2,则其处于第二层级;节点D的编码1.1.1的码元数为3,则其处于第三层级。对于编码中含有偶数码元的节点,奇数码元的数量记为节点所处层级,例如,节点L的编码为1.2.2.1,其中奇数码元的数量为2,则其处于第二层级。
依据上述编码方式还可以实现节点分类。在本发明实施例中,提供了两种分类方法。第一种分类方法针对树形结构中的任一节点编码进行判断,具体地,对于任一节点,在该节点编码的最右端码元和次右端码元均为奇数时,将该节点判断为目标节点的子节点;其中,目标节点的编码是该任一节点的编码去除最右端码元剩余的部分。例如,图8中的节点D编码1.1.1的最右端码元和次右端码元均为奇数,则其为目标节点的子节点,目标节点的编码为节点D编码1.1.1去除最右端码元1剩余的部分1.1,即此时的目标节点为B,由此可以确定节点D的父节点为B。再如,节点B的编码为1.1,其中的最右端码元和次右端码元均为奇数,则通过类似方式可确定其父节点为节点A。通过这种方法,能够判断某一节点的父节点,进而判断该父节点的父节点,以此类推能够得到具有直系从属关系的多个节点,即实现了节点分类。
第二种节点分类方法可确定树形结构中的任意多个节点的分类情况,具体地,在该多个节点的编码中具有相同前缀且该相同前缀的最右端码元为奇数时,确定该多个节点从属于以该相同前缀作为编码的节点。例如,对于图8中的节点B、D,由于编码中均含有前缀1.1(其最右端码元为奇数),因此确定节点B、D从属于以该前缀作为编码的节点B;同时,节点B、D的编码中还含有前缀1(其最右端码元为奇数),因此确定节点B、D同时从属于以该前缀作为编码的节点A。
使用以上两种分类方法能够对编码完成的节点进行准确分类。例如,在对某市的快递设置编码之后,可以根据以上两种方法将快递按照各种粒度分类,例如按照不同的区分类或者按照不同街道分类。在对电商平台的物品设置编码之后,可以根据以上两种方法将物品按照各级类目进行分类。在分类后的快递或物品中,可以实现基于编码的快速查询。开始查询时,首先可以根据编码快速确定待查询节点所属的较细粒度的类别,并在该类别中按照从左到右的顺序对待查询节点与现有节点的码元进行比对(该过程可使用已知的二分法或者小枝查询算法),从而得到查询结果。可以理解,以上节点分类以及查询方法能够应用在线上场景,也能够应用在线下场景,应用在线下场景时,可以为每一快递或物品设置写有编码的标签,同时为各粒度类别设置写有相应编码的标签,从而实现快递或物品的快速查询。
在本发明实施例中,进一步提供一种依据前述节点编码方法得到的节点编码确定节点从属关系的方法,其中,节点的顺序码都为奇数。上述确定节点从属关系的方法的具体执行步骤包括:对于任一节点,在该节点编码的最右端码元和次右端码元均为奇数时,将该节点确定为目标节点的子节点;其中,目标节点的编码是该任一节点的编码去除最右端码元剩余的部分;对于任意多个节点,在该多个节点的编码中具有相同前缀且该相同前缀的最右端码元为奇数时,确定该多个节点从属于以该相同前缀作为编码的节点。
在本发明实施例的技术方案中,在对树形结构的任一节点编码时,将该节点的父节点编码与该节点顺序码组合为该节点编码,其中,每一节点的顺序码被一致地设置为奇数或偶数,相邻兄弟节点的顺序码为连续的奇数或偶数。本发明还提供了向树形结构不同位置***新节点时的编码方法,例如当新节点左右侧都具有兄弟节点时,可以构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码。上述编码方式具有以下优点:稳定性高,在树形结构***新节点时,原有节点的编码以及相互关系保持不变;有序性强,编码大小能够体现节点在树形结构的位置,通过编码中的码元个数能够判断节点所处层级;利于分类,任意多个节点可以根据是否具有相同前缀以及相同前缀的最右端码元是否为奇数来判断是否属于同一类别,从而有助于节点管理和查询。
需要说明的是,对于前述的各方法实施例,为了便于描述,将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,某些步骤事实上可以采用其它顺序进行或者同时进行。此外,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是实现本发明所必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图10所示,本发明实施例提供的节点编码装置1000用于对形成树形结构的多个节点编码。所述装置1000包括:根节点编码单元1001、后裔节点编码单元1002和***节点编码单元1003。
其中,根节点编码单元1001可用于确定所述多个节点中根节点的编码;后裔节点编码单元1002可用于:对于所述多个节点中的其它任一节点,将该节点的父节点的编码与所述任一节点的顺序码组合为所述任一节点的编码;其中,所述多个节点的顺序码被一致地设置为奇数或被一致地设置为偶数;在任一节点具有多个子节点时,所述多个子节点的顺序码为连续的奇数或偶数;***节点编码单元1003可用于:在向所述树形结构***新节点时,如果***后的新节点左右侧都具有兄弟节点,则构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码;其中,虚拟节点编码中的顺序码为所述兄弟节点顺序码的平均值,虚拟节点编码中的其它部分与所述兄弟节点相同,新节点的顺序码与所述多个节点保持相同奇偶性。
在本发明实施例中,***节点编码单元1003可进一步用于:在向所述树形结构***新节点时,如果***后的新节点不具有兄弟节点,则将该新节点的父节点的编码与该新节点的顺序码组合为该新节点的编码;其中,该新节点的顺序码与所述多个节点保持相同奇偶性。
具体应用中,在所述多个节点中的任一节点具有多个子节点时,所述多个子节点的顺序码从左到右依次增加。***节点编码单元1003可进一步用于:在向所述树形结构***新节点时:如果***后的新节点具有左侧兄弟节点但不具有右侧兄弟节点,则将所述左侧节点编码中的顺序码加二形成该新节点的编码;如果***后的新节点具有右侧兄弟节点但不具有左侧兄弟节点,则将所述右侧节点编码中的顺序码减二形成该新节点的编码。
实际应用中,***节点编码单元1003可进一步用于:在向所述树形结构***新节点时,如果***后的新节点在左侧具有作为兄弟节点的第一类型节点、且右侧不具有作为兄弟节点的第一类型节点,则将该新节点左侧的第一类型节点的编码中的顺序码加二形成该新节点的编码;其中,第一类型节点的编码由虚拟节点的编码与第一类型节点的顺序码组合形成;如果***后的新节点在右侧具有作为兄弟节点的第一类型节点、且左侧不具有作为兄弟节点的第一类型节点,则将该新节点右侧的第一类型节点的编码中的顺序码减二形成该新节点的编码。
在一些实施例中,***节点编码单元1003可进一步用于:在向所述树形结构***新节点时,如果***后的新节点左右侧都具有作为兄弟节点的第一类型节点,则构建虚拟节点,并将该虚拟节点的编码与该新节点的顺序码组合为该新节点的编码;其中,该虚拟节点编码中的顺序码为该第一类型节点顺序码的平均值,该虚拟节点编码中的其它部分与该第一类型节点相同,该新节点的顺序码与所述多个节点保持相同奇偶性。
此外,在本发明实施例中,所述装置1000可进一步包括编码组合单元,其用于将顺序码添加在节点编码之后并使用分隔符隔开;所述节点包括物品及物品集合、快递及快递集合、或者可扩展标记语言XML文档树中的节点。
在本发明实施例的技术方案中,在对树形结构的任一节点编码时,将该节点的父节点编码与该节点顺序码组合为该节点编码,其中,每一节点的顺序码被一致地设置为奇数或偶数,相邻兄弟节点的顺序码为连续的奇数或偶数。本发明还提供了向树形结构不同位置***新节点时的编码方法,例如当新节点左右侧都具有兄弟节点时,可以构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码。上述编码方式具有以下优点:稳定性高,在树形结构***新节点时,原有节点的编码以及相互关系保持不变;有序性强,编码大小能够体现节点在树形结构的位置,通过编码中的码元个数能够判断节点所处层级;利于分类,任意多个节点可以根据是否具有相同前缀以及相同前缀的最右端码元是否为奇数来判断是否属于同一类别,从而有助于节点管理和查询。
使用本发明实施例的节点编码方法和节点编码装置形成树形结构的节点编码之后,该节点编码能够用于实现相应对象的快速查询。以节点对应的对象为电商领域的具体物品以及物品集合为例,在对具体物品和相应的物品集合进行编码、分类并存储到数据库之后,如果要查询某一编码对应的物品信息,可以首先根据该编码的前缀判断某一粒度的类别,之后在该类别的物品中根据该编码除该前缀之外的码元采用已知的二分法或者遍历法进行查询。
二分法也称为折半法,是一种在有序数组中查找特定元素的搜索算法。二分法查找的思路如下:首先,从数组的中间元素开始搜索,如果该元素正好是目标元素,则搜索过程结束,否则执行下一步。如果目标元素大于中间元素,则在数组大于中间元素的那一半区域查找;如果目标元素小于中间元素,则在数组小于中间元素的那一半区域查找,按照类似方式不断缩小搜索区域直到查询到目标元素或确定数组中不存在目标元素。遍历法指的是按照固定顺序遍历数据库中的编码并将其与待查询编码对比直到找到相同的编码或者确定不存在待查询编码。遍历法查询的时间复杂度为O(n),二分法查询的时间复杂度为O(log2n),其中n表示节点数量。图11是本发明实施例中二分法查询与遍历查询效果对比示意图,图11的横坐标为节点数量,纵坐标为查询步长,圆点构成的曲线为遍历查询曲线,星形符号构成的曲线为二分法查询曲线。可以看到,二分法查询效率明显优于遍历法。
图12是本发明实施例中线下物品查询流程示意图,示出了线下场景查询物品的流程。如图12所示,在步骤S1201中,为具体物品设置编码标签,并通过该编码对物品分类形成物品集合,为各物品集合也设置编码标签。在步骤S1202中,将待查询物品编码的前缀与各物品集合的标签中编码的前缀进行比较以便确定待查询物品的类别。在步骤S1203中,判断待查询物品编码的前缀与某一物品集合的编码前缀是否相同:若是,执行步骤S1204,否则返回步骤S1202。在步骤S1204中,在具有相同前缀编码的物品集合中执行二分法查询。在步骤S1205中,确定目标物品,结束查询流程。
图13示出了可以应用本发明实施例的节点编码方法或节点编码装置的示例性***架构1300。
如图13所示,***架构1300可以包括终端设备1301、1302、1303,网络1304和服务器1305(此架构仅仅是示例,具体架构中包含的组件可以根据申请具体情况调整)。网络1304用以在终端设备1301、1302、1303和服务器1305之间提供通信链路的介质。网络1304可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1301、1302、1303通过网络1304与服务器1305交互,以接收或发送消息等。终端设备1301、1302、1303上可以安装有各种客户端应用,例如节点编码应用(仅为示例)。
终端设备1301、1302、1303可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器1305可以是提供各种服务的服务器,例如对用户利用终端设备1301、1302、1303所操作的节点编码应用提供支持的运算服务器(仅为示例)。运算服务器可以对接收到的节点编码请求进行处理,并将处理结果(例如确定出的节点编码--仅为示例)反馈给终端设备1301、1302、1303。
需要说明的是,本发明实施例所提供的节点编码方法一般由服务器1305执行,相应地,节点编码装置一般设置于服务器1305中。
应该理解,图13中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本发明还提供了一种电子设备。本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的节点编码方法。
下面参考图14,其示出了适于用来实现本发明实施例的电子设备的计算机***1400的结构示意图。图14示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图14所示,计算机***1400包括中央处理单元(CPU)1401,其可以根据存储在只读存储器(ROM)1402中的程序或者从存储部分1408加载到随机访问存储器(RAM)1403中的程序而执行各种适当的动作和处理。在RAM1403中,还存储有计算机***1400操作所需的各种程序和数据。CPU1401、ROM 1402以及RAM 1403通过总线1404彼此相连。输入/输出(I/O)接口1405也连接至总线1404。
以下部件连接至I/O接口1405:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至I/O接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便从其上读出的计算机程序根据需要被安装入存储部分1408。
特别地,根据本发明公开的实施例,上文的主要步骤图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在上述实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被中央处理单元1401执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括根节点编码单元、后裔节点编码单元和***节点编码单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,根节点编码单元还可以被描述为“向后裔节点编码单元提供根节点编码的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中的。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该设备执行时,使得该设备执行的步骤包括:确定形成树形结构的多个节点中根节点的编码;对于所述多个节点中的其它任一节点,将该节点的父节点的编码与所述任一节点的顺序码组合为所述任一节点的编码;其中,所述多个节点的顺序码被一致地设置为奇数或被一致地设置为偶数;在任一节点具有多个子节点时,所述多个子节点的顺序码为连续的奇数或偶数;在向所述树形结构***新节点时,如果***后的新节点左右侧都具有兄弟节点,则构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码;其中,虚拟节点编码中的顺序码为所述兄弟节点顺序码的平均值,虚拟节点编码中的其它部分与所述兄弟节点相同,新节点的顺序码与所述多个节点保持相同奇偶性。
在本发明实施例的技术方案中,在对树形结构的任一节点编码时,将该节点的父节点编码与该节点顺序码组合为该节点编码,其中,每一节点的顺序码被一致地设置为奇数或偶数,相邻兄弟节点的顺序码为连续的奇数或偶数。本发明还提供了向树形结构不同位置***新节点时的编码方法,例如当新节点左右侧都具有兄弟节点时,可以构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码。上述编码方式具有以下优点:稳定性高,在树形结构***新节点时,原有节点的编码以及相互关系保持不变;有序性强,编码大小能够体现节点在树形结构的位置,通过编码中的码元个数能够判断节点所处层级;利于分类,任意多个节点可以根据是否具有相同前缀以及相同前缀的最右端码元是否为奇数来判断是否属于同一类别,从而有助于节点管理和查询。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种节点编码方法,用于对形成树形结构的多个节点编码;其特征在于,所述方法包括:
确定所述多个节点中根节点的编码;
对于所述多个节点中的其它任一节点,将该节点的父节点的编码与所述任一节点的顺序码组合为所述任一节点的编码;其中,所述多个节点的顺序码被一致地设置为奇数或被一致地设置为偶数;在任一节点具有多个子节点时,所述多个子节点的顺序码为连续的奇数或偶数;
在向所述树形结构***新节点时,如果***后的新节点左右侧都具有兄弟节点,则构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码;其中,虚拟节点编码中的顺序码为所述兄弟节点顺序码的平均值,虚拟节点编码中的其它部分与所述兄弟节点相同,新节点的顺序码与所述多个节点保持相同奇偶性。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在向所述树形结构***新节点时,如果***后的新节点不具有兄弟节点,则将该新节点的父节点的编码与该新节点的顺序码组合为该新节点的编码;其中,该新节点的顺序码与所述多个节点保持相同奇偶性。
3.根据权利要求1所述的方法,其特征在于,在所述多个节点中的任一节点具有多个子节点时,所述多个子节点的顺序码从左到右依次增加;以及,所述方法还包括:
在向所述树形结构***新节点时:如果***后的新节点具有左侧兄弟节点但不具有右侧兄弟节点,则将所述左侧节点编码中的顺序码加二形成该新节点的编码;如果***后的新节点具有右侧兄弟节点但不具有左侧兄弟节点,则将所述右侧节点编码中的顺序码减二形成该新节点的编码。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在向所述树形结构***新节点时:
如果***后的新节点在左侧具有作为兄弟节点的第一类型节点、且右侧不具有作为兄弟节点的第一类型节点,则将该新节点左侧的第一类型节点的编码中的顺序码加二形成该新节点的编码;其中,第一类型节点的编码由虚拟节点的编码与第一类型节点的顺序码组合形成;
如果***后的新节点在右侧具有作为兄弟节点的第一类型节点、且左侧不具有作为兄弟节点的第一类型节点,则将该新节点右侧的第一类型节点的编码中的顺序码减二形成该新节点的编码。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在向所述树形结构***新节点时,如果***后的新节点左右侧都具有作为兄弟节点的第一类型节点,则构建虚拟节点,并将该虚拟节点的编码与该新节点的顺序码组合为该新节点的编码;其中,
该虚拟节点编码中的顺序码为该第一类型节点顺序码的平均值,该虚拟节点编码中的其它部分与该第一类型节点相同,该新节点的顺序码与所述多个节点保持相同奇偶性。
6.根据权利要求1-5任一所述的方法,其特征在于,
将节点编码与顺序码组合包括:将顺序码添加在节点编码之后并使用分隔符隔开;
所述节点包括物品及物品集合、快递及快递集合、或者可扩展标记语言XML文档树中的节点。
7.一种依据权利要求1-6任一所述方法得到的节点编码确定节点从属关系的方法,其中,所述多个节点的顺序码都为奇数;除根节点之外的任一节点的编码由被分隔符隔开的码元组成;其特征在于,所述方法包括:
对于任一节点,在该节点编码的最右端码元和次右端码元均为奇数时,将该节点确定为目标节点的子节点;其中,目标节点的编码是该任一节点的编码去除最右端码元剩余的部分;
对于任意多个节点,在该多个节点的编码中具有相同前缀且该相同前缀的最右端码元为奇数时,确定该多个节点从属于以该相同前缀作为编码的节点。
8.一种节点编码装置,用于对形成树形结构的多个节点编码;其特征在于,所述装置包括:
根节点编码单元,用于确定所述多个节点中根节点的编码;
后裔节点编码单元,用于:对于所述多个节点中的其它任一节点,将该节点的父节点的编码与所述任一节点的顺序码组合为所述任一节点的编码;其中,所述多个节点的顺序码被一致地设置为奇数或被一致地设置为偶数;在任一节点具有多个子节点时,所述多个子节点的顺序码为连续的奇数或偶数;
***节点编码单元,用于:在向所述树形结构***新节点时,如果***后的新节点左右侧都具有兄弟节点,则构建虚拟节点,并将虚拟节点的编码与新节点的顺序码组合为新节点的编码;其中,虚拟节点编码中的顺序码为所述兄弟节点顺序码的平均值,虚拟节点编码中的其它部分与所述兄弟节点相同,新节点的顺序码与所述多个节点保持相同奇偶性。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010129614.5A CN111353277A (zh) | 2020-02-28 | 2020-02-28 | 节点编码方法和装置以及确定节点从属关系的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010129614.5A CN111353277A (zh) | 2020-02-28 | 2020-02-28 | 节点编码方法和装置以及确定节点从属关系的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111353277A true CN111353277A (zh) | 2020-06-30 |
Family
ID=71195953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010129614.5A Pending CN111353277A (zh) | 2020-02-28 | 2020-02-28 | 节点编码方法和装置以及确定节点从属关系的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111353277A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000667A (zh) * | 2020-08-10 | 2020-11-27 | 多点(深圳)数字科技有限公司 | 用于检索树形数据的方法、装置、服务器和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010034920A1 (fr) * | 2008-09-29 | 2010-04-01 | France Telecom | Determination et gestion de reseaux virtuels |
CN102446218A (zh) * | 2011-11-25 | 2012-05-09 | 浙江大学城市学院 | 一种支持xml数据动态更新的编码方法 |
US20150317335A1 (en) * | 2014-04-30 | 2015-11-05 | International Business Machines Corporation | Generating a schema of a not-only-structured-query-language database |
-
2020
- 2020-02-28 CN CN202010129614.5A patent/CN111353277A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010034920A1 (fr) * | 2008-09-29 | 2010-04-01 | France Telecom | Determination et gestion de reseaux virtuels |
CN102446218A (zh) * | 2011-11-25 | 2012-05-09 | 浙江大学城市学院 | 一种支持xml数据动态更新的编码方法 |
US20150317335A1 (en) * | 2014-04-30 | 2015-11-05 | International Business Machines Corporation | Generating a schema of a not-only-structured-query-language database |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000667A (zh) * | 2020-08-10 | 2020-11-27 | 多点(深圳)数字科技有限公司 | 用于检索树形数据的方法、装置、服务器和介质 |
CN112000667B (zh) * | 2020-08-10 | 2024-04-12 | 多点(深圳)数字科技有限公司 | 用于检索树形数据的方法、装置、服务器和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8990209B2 (en) | Distributed scalable clustering and community detection | |
US20220292093A1 (en) | Techniques For In Memory Key Range Searches | |
CN111339382B (zh) | 字符串数据检索方法、装置、计算机设备及存储介质 | |
US7492727B2 (en) | Space and time efficient XML graph labeling | |
WO2022152161A1 (zh) | 混合图神经网络模型的训练、预测 | |
CN108733317B (zh) | 数据存储方法和装置 | |
US9720927B2 (en) | Method and system for database storage management | |
US11645267B2 (en) | Techniques for in-memory data searching | |
CN111353277A (zh) | 节点编码方法和装置以及确定节点从属关系的方法 | |
US9639566B2 (en) | Method, apparatus and computer program product for improved storage of key-value pairs | |
CN110377822B (zh) | 用于网络表征学习的方法、装置及电子设备 | |
CN110851343A (zh) | 一种基于决策树的测试方法和装置 | |
CN111143568A (zh) | 一种论文分类时的缓冲方法、装置、设备及存储介质 | |
CN111723122A (zh) | 数据间关联规则的确定方法、装置、设备及可读存储介质 | |
CN113946648B (zh) | 结构化信息生成方法、装置、电子设备和介质 | |
CN115951992A (zh) | 在线资源分配方法和*** | |
CN110826948A (zh) | 仓库选品方法和装置 | |
CN115408547A (zh) | 一种字典树构建方法、装置、设备及存储介质 | |
Östergård et al. | Exhaustive search for snake-in-the-box codes | |
CN108733668B (zh) | 用于查询数据的方法和装置 | |
CN109426358B (zh) | 信息输入方法和装置 | |
CN113762992A (zh) | 一种处理数据的方法和装置 | |
CN113379173A (zh) | 为仓库商品标记标签的方法和装置 | |
CN112785213A (zh) | 一种仓库拣货单的组建方法和装置 | |
CN111858917A (zh) | 文本分类方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |