【发布时间】:2015-10-18 10:26:56
【问题描述】:
所以我有这个函数在 Java 中迭代一个 8x8 多维数组。我试图在 findTheBoss() 中理解这个函数的大 O。它在静态 8x8 网格中搜索给定的字符串。我真的很想了解如何找到诸如此类的基本功能的大 O。我认为这是 O(n^2) 但我不确定。请帮助我理解如何找到这个函数的方程。
public static void FindTheBoss(String[][] bossGrid, String bossName){
for(int i=0; i < bossGrid.length; i++)
{
//Iterate through each row?
for(int j=0; j < bossGrid[i].length; j++)
{
if(bossGrid[i][j].equals(bossName))
{
System.out.println("Found '" + bossName + "' at position "+ i + "," + j);
break;
}
}
}
}
【问题讨论】:
-
了解
outer loop运行了多少次,对于每个outer loop iteration,了解inner loop运行了多少次。顺便说一句,您的答案是正确的,但我会留给您分析为什么? -
外循环运行,但是长 n 是正确的,所以外循环是 n。但是内部的运行但是许多总项目在多维数组内。那会是n^2吗?如果它不是一个完美的正方形怎么办,它会是n^2吗?