c ++数组循环的时间复杂度

时间:2017-03-29 04:20:19

标签: c++ complexity-theory

我有以下循环,但无法计算复杂性。我需要帮助

loop_var

我很感激

2 个答案:

答案 0 :(得分:2)

您需要分析三个循环。前两个是一组嵌套循环:每次内部(j)循环运行NSArray *localPhoneArr = [[self rcs_GetPhoneNumberFromeDatabaseWithPhone:searchText] copy]; for (NSUInteger i = 0; i < localPhoneArr .count; i ++) { 次,外部(i)循环运行一次。因为外部循环最终运行n次,所以整个集合将运行n次,因此我们说这组循环在O(n ^ 2)时间内运行。一旦这些循环完成,第三个(k)循环运行n*n = n^2次,这是O(n)时间。

当你有两个不同的大O复杂性的单独操作,并希望将复杂性加在一起得到它们的总数时,你可以选择两者中较大的一个。由于O(n ^ 2)比O(n)“大”,我们说整个程序在O(n ^ 2)时间内运行。

答案 1 :(得分:0)

时间复杂度为O(n ^ 2)。在此处详细了解时间复杂度 - How to find time complexity of an algorithm。这里有一些很好的解释。