以下内容是否包含二进制或线性搜索

问题描述 投票:0回答:1

这里是链接https://pastebin.com/qNN9nhJi

这不包含线性搜索吗?还是作为平衡的树有所作为


    def lookup_LTE(self, node, time, prev_ans):
        """Function to Execute LTE Query"""
        if node == None:
            #print(prev_ans)
            f.write(prev_ans + "\n")
            return
        elif time == node.time:
            #print(node.adrs)
            f.write(node.adrs + "\n")
            return
        elif time < node.time:
            self.lookup_LTE(node.left, time, prev_ans)
        else:
            prev_ans = node.adrs
            self.lookup_LTE(node.right, time, prev_ans)


python binary-search-tree binary-search linear-search
1个回答
0
投票

如果node指向平衡和排序的树,则在每个步骤中的查找都避免查看其余树的一半。因此,它有效地将每一步将搜索空间分为两个(“二进制”)。

如果不对树进行排序,则需要左右左右寻找正确的解决方案。这样的搜索将浪费大量时间,并且与线性搜索相似。

© www.soinside.com 2019 - 2024. All rights reserved.