Time complexity 给定输入大小N**2的单次查找的时间复杂度

Time complexity 给定输入大小N**2的单次查找的时间复杂度,time-complexity,Time Complexity,给定一个列表列表,即。 [1,2,3],[4,5,6],[7,8,9]: 使用嵌套For循环查看1-9中的每个数字是否使用一次且仅使用一次的时间复杂度是多少?此外,如果输入现在是一个单一的组合列表,即[1,2,3,4,5,6,7,8,9],时间复杂度会是多少?真正重要的是输入的大小,而不是格式。无论是有9个元素的列表还是有9个元素的列表,在最坏的情况下仍有9个元素需要检查 如前所述,问题的答案是O(1),因为您有一个恒定大小的输入。 如果您的意思是给定N个元素,那么检查1到N之间的所有数字是否存

给定一个列表列表,即。 [1,2,3],[4,5,6],[7,8,9]
使用嵌套For循环查看1-9中的每个数字是否使用一次且仅使用一次的时间复杂度是多少?此外,如果输入现在是一个单一的组合列表,即[1,2,3,4,5,6,7,8,9],时间复杂度会是多少?

真正重要的是输入的大小,而不是格式。无论是有9个元素的列表还是有9个元素的列表,在最坏的情况下仍有9个元素需要检查

如前所述,问题的答案是
O(1)
,因为您有一个恒定大小的输入。
如果您的意思是给定N个元素,那么检查1到N之间的所有数字是否存在的时间复杂度是多少,那么它将需要线性时间,即
O(N)


实际上,一个选项是使用哈希表(例如,python集),如果不添加元素,则检查该元素是否已经在该集中。请注意,在使用此特定选项时,您将得到一个预期的(但由于潜在冲突,无法保证)线性时间复杂度算法。

您的问题与标题有何关联?你在问题中没有提到“1-pass”或“N”。正如您定义的问题一样,您甚至不需要循环,只需返回true即可,因为输入是一个常量(或者换句话说,没有输入)。