Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.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
C++ 以下代码的时间复杂度。。?_C++_C_Algorithm_Time Complexity - Fatal编程技术网

C++ 以下代码的时间复杂度。。?

C++ 以下代码的时间复杂度。。?,c++,c,algorithm,time-complexity,C++,C,Algorithm,Time Complexity,我对下面代码的时间复杂性感到困惑 i = 0 //first row if(board[i][0] == win && board[i][1] == win && board[i][2] == win) return win; //second row if(board[i+1][0] == win && board[i+1][1] == win && board[i+1][2] == win

我对下面代码的时间复杂性感到困惑

i = 0

   //first row
   if(board[i][0] == win && board[i][1] == win && board[i][2] == win)
      return win;

   //second row
   if(board[i+1][0] == win && board[i+1][1] == win && board[i+1][2] == win)
      return win;

   //third row
   if(board[i+2][0] == win && board[i+2][1] == win && board[i+2][2] == win)
      return win;

   //first col
   if(board[0][i] == win && board[1][i] == win && board[1][i] == win)
      return win;

   //second col
   if(board[0][i+1] == win && board[1][i+1] == win && board[2][i+1] == win)
      return win;

   //third col
   if(board[0][i+2] == win && board[1][i+2] == win && board[2][i+2] == win)
      return win;

      //first diag
   if(board[i][i] == win && board[i+1][i+1] == win && board[i+2][i+2] == win)
      return win;

   //second diag
   if(board[i+2][i] == win && board[i+1][i+1] == win && board[i][i+2] == win)
      return win;

它将以恒定时间运行,即O(1),假设板[M][N]是二维数组。

O(1)-没有迭代或递归。

正如其他答案所示,它是O(1)。但这并不被认为是良好的编码实践。你可以使用一个循环来概括它。

正如你在那里展示的,它是O(1),因为它没有可变的方面。它总是需要相同的时间来执行


如果你把它放在一个循环中,从0到n-1,那么它将有O(n),即线性复杂度。如果将n的大小增加一倍,则执行时间大约会增加一倍。

这显然是一个陷阱问题,看看您是否理解时间复杂性的概念


时间复杂度度量算法在应用于越来越大的输入时所需的数量级。你的例子只依赖于恒定数量的输入,这就是为什么其他人正确地说O(1)。本质上,这意味着时间复杂性不是衡量其效率、质量或其他方面的正确工具。

i是循环的一部分还是始终为0?