次のアルゴリズムの時間複雑度はどのくらいでしょうか?助けてもらえますか次の配列ダブルルックアップのBig O表記における時間複雑度の計算方法
public class Util
{
public static int GetDistance(int[] array)
{
//Find the max seperation of two same numbers inside an array for example
// {1,2,4,1,5,9,0,4,15,1,2} should return 9 (position of '1' at 9th and 0th location)
int N = array.Length;
int maxDistance=0;
for (int i = 0; i < N; i++)
{
for (int j = (N-1); j > i; j--)
{
if (array[j]==array[i])
if(maxDistance < (j-i))
maxDistance = j- i;
}//End of inner for
}//End of for
System.Console.WriteLine("maxDistance " + maxDistance);
return maxDistance ;
} //End of Function
} //End of Class
それはOのその時の複雑さの表現を意味しているのを持っています(N²)はO((N²-N)/ 2)と同じですか? Then – Ash
もちろん。大きなNの場合、NはN²に比べて無視できる。 –