本发明涉及信息搜索,具体涉及层次结构搜索方法、装置、计算机设备及存储介质。
背景技术:
1、随着大数据时代的到来,人们的生活方式也逐渐发展为数字化生活,在数字化生活中,存在多元化且相互交互的信息数据。在此多元化数据中,经常需要根据一定的搜索条件来确定与搜索条件相对应的内容。在现有技术中通常采用递归的方式实现,但是采用递归的方式可能会由于递归的深度出现栈溢出的问题。
技术实现思路
1、有鉴于此,本发明提供了一种层次结构搜索方法、装置、计算机设备及存储介质,以解决由于现有技术中数据结构复杂,导致的递归深度太大进而导致程序崩溃的问题。
2、第一方面,本发明提供了一种层次结构搜索方法,方法包括:获取查询条件;
3、确定查询条件所属的信息结构,信息结构包括查询条件对应的待查询对象;
4、根据信息结构构建树形结构,树形结构包括n级节点,第一级包括至少一个根节点,根节点包括至少一个子节点,至少一个子节点为第二级,最后一级节点到根节点为n级,n为大于等于1的正整数,每一个节点包括属性值,树形结构的节点与信息结构中的信息一一对应;
5、当根节点的属性值与查询条件不匹配时,将根节点的子节点依次存储在预设队列中;
6、遍历预设队列中的子节点,当预设队列中存在与查询条件匹配的子节点时,将子节点以及根节点作为待查询对象。
7、有益效果,获取查询条件,确定查询条件的信息结构,根据信息结构构建树形结构,提高了信息结构的可读性;在此基础上,当根节点的属性值与查询条件不匹配时,将根节点的子节点依次存储在预设队列中,遍历预设队列中的子节点,采用预设队列存储子节点,提高了查询效率和性能;当预设队列中存在与查询条件匹配的子节点时,将子节点以及根节点作为待查询对象,提高了查询的效率,避免了采用递归方式出现栈溢出的问题。
8、在一种可选的实施方式中,当根节点的属性值与查询条件匹配时,则将根节点作为待查询对象。
9、有益效果,提高了查询效率。
10、在一种可选的实施方式中,当预设队列中不存在与查询条件匹配的子节点时,方法还包括:
11、依次遍历预设队列中的第i个子节点对应的下级节点,当第i个子节点对应的下级节点中存在的与查询条件匹配的节点时,将根节点到匹配节点的所有节点以及对应的上下级关系作为待查询对象,下级节点为第3级节点到最后一个节点。
12、有益效果,采用这种遍历方式完全按照树形结构的层次顺序遍历,确保每一个节点都会被遍历到,不会遗漏节点,提高了查询过程的准确性。
13、在一种可选的实施方式中,方法还包括:
14、当第i个子节点对应的下级节点中不存在的与查询条件匹配的节点,和/或第i个子节点不存在下级节点时,遍历预设队列中第i+1个子节点对应的下级节点,直至确定与查询条件匹配的待查询对象。
15、有益效果,采用这种遍历方式完全按照树形结构的层次顺序遍历,确保每一个节点都会被遍历到,不会遗漏节点,提高了查询过程的准确性。
16、在一种可选的实施方式中,方法还包括:当所有的子节点中均不存在与查询条件匹配的待查询对象时,返回反馈消息。
17、有益效果,提高了查询效率。
18、第二方面,本发明提供了一种层次结构搜索装置,装置包括:
19、获取查询条件模块,用于获取查询条件;
20、确定信息结构模块,用于确定查询条件所属的信息结构,信息结构包括查询条件对应的待查询对象;
21、构建树形结构模块,用于根据信息结构构建树形结构,树形结构包括n级节点,第一级包括一个根节点,根节点包括至少一个子节点,至少一个子节点为第二级,最后一级节点到根节点为n级,n为大于等于1的正整数,每一个节点包括属性值,树形结构的节点与信息结构中的信息一一对应;
22、存储子节点模块,用于当根节点的属性值与查询条件不匹配时,将根节点的子节点依次存储在预设队列中;
23、遍历子节点模块,用于遍历预设队列中的子节点,当预设队列中存在与查询条件匹配的子节点时,将子节点以及根节点作为待查询对象。
24、在一种可选的实施方式中,装置还用于:当根节点的属性值与查询条件匹配时,则将根节点作为待查询对象。
25、在一种可选的实施方式中,当预设队列中不存在与查询条件匹配的子节点时,装置还用于:
26、依次遍历预设队列中的第i个子节点对应的下级节点,当第i个子节点对应的下级节点中存在的与查询条件匹配的节点时,将根节点到匹配节点的所有节点以及对应的上下级关系作为待查询对象,下级节点为第3级节点到最后一个节点。
27、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的层次结构搜索方法。
28、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的层次结构搜索方法。
1.一种层次结构搜索方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,当所述根节点的属性值与所述查询条件匹配时,则将所述根节点作为待查询对象。
3.根据权利要求1所述的方法,其特征在于,当所述预设队列中不存在与所述查询条件匹配的子节点时,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.一种层次结构搜索装置,其特征在于,所述装置包括:
7.根据权利要求1所述的装置,其特征在于,所述装置还用于:当所述根节点的属性值与所述查询条件匹配时,则将所述根节点作为待查询对象。
8.根据权利要求1所述的方法,其特征在于,当所述预设队列中不存在与所述查询条件匹配的子节点时,所述装置还用于:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至5中任一项所述的层次结构搜索方法。