Java 以下方法的时间复杂度

Java 以下方法的时间复杂度,java,time-complexity,Java,Time Complexity,我试图确定以下方法的时间复杂度。开始时,我有三个for循环,它们将产生m^3。我不知道如何确定方法末尾递归调用的时间复杂度 有人能帮我吗 void p(int n, int m) { int i,j,k ; if (n > 0) { for (i=0 ; i < m ; i++) for (j=0 ; j < m ; j++) for (k=0 ; k < m ; k++)

我试图确定以下方法的时间复杂度。开始时,我有三个for循环,它们将产生m^3。我不知道如何确定方法末尾递归调用的时间复杂度

有人能帮我吗

void p(int n, int m) {
    int i,j,k ;
    if (n > 0) {
        for (i=0 ; i < m ; i++)
            for (j=0 ; j < m ; j++)
                for (k=0 ; k < m ; k++)
                    System.out.println(i+j*k) ;  
        p(n/m, m) ;
    }
 }
void p(int n,int m){
int i,j,k;
如果(n>0){
对于(i=0;i
O(m^3)是一种没有传统重复的执行,正如您所提到的

总时间只是这一步时间的倍数


因为n=m^(k-1)是执行k次的步骤,因此它有O(k*m^3),也就是O(ln(n)*m^3)。

下面的步骤将允许您以正式的方式推导时间复杂度: