Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java n个元素的时间复杂度_Java_Algorithm_Binary Search Tree_Nodes - Fatal编程技术网

Java n个元素的时间复杂度

Java n个元素的时间复杂度,java,algorithm,binary-search-tree,nodes,Java,Algorithm,Binary Search Tree,Nodes,我有两个问题,我一直想问。我对搜索的工作原理有一个概念,但不完全确定。我写下了我所知道的,但我不认为它似乎100%准确或回答了这个问题 1首次在包含n个元素的数据集上运行算法A时;它比 算法B。第二次在包含n个元素的数据集上运行算法A时;它比 算法B.解释这是如何可能的。给出算法A和算法B的示例 2如果两者都有n个节点,并且从最小到最大排序,查找速度会更快吗 排序链表中的最大值或最低级别BST?解释一下 这就是我对上述问题的看法。如果我错了或遗漏了任何关键信息,请纠正我 1算法A是一种线性搜索,

我有两个问题,我一直想问。我对搜索的工作原理有一个概念,但不完全确定。我写下了我所知道的,但我不认为它似乎100%准确或回答了这个问题

1首次在包含n个元素的数据集上运行算法A时;它比 算法B。第二次在包含n个元素的数据集上运行算法A时;它比 算法B.解释这是如何可能的。给出算法A和算法B的示例

2如果两者都有n个节点,并且从最小到最大排序,查找速度会更快吗 排序链表中的最大值或最低级别BST?解释一下

这就是我对上述问题的看法。如果我错了或遗漏了任何关键信息,请纠正我

1算法A是一种线性搜索,检查每个元素是否匹配。算法B在使用二进制搜索之前对数据进行排序并存储在内存中。对于每个后续搜索,算法B都会更快,因为二进制搜索通常比线性搜索快

2如果列表从最小值到最大值排序,如果进一步使用尾部指针,它将变为O1。原因是max元素是链接列表中的最后一个元素。因此,你必须横穿到船的尾部

对不起,如果我违反了任何规则,但我要问很长时间后


任何帮助都将不胜感激。谢谢。

我认为你的猜测是正确的。为了完整起见,您可以在二进制搜索中添加Ologn。

如果我违反了规则,您的评论很抱歉,听起来像:对不起,如果我杀了您:PAlso,如果您花更多时间了解算法和数据结构,您可以自己回答这些问题。现在,根据你的逻辑,假设任何看起来更准确的东西。在我看来,B在连续运行中速度更快有很多原因,结果存储就是其中之一,当然这完全取决于算法。老实说,第二个问题似乎很愚蠢。但你们总是问自己这样的问题,而不是在网上,因为你们可以在网上得到他们的答案