Java 如何计算以下算法的顺序复杂度

Java 如何计算以下算法的顺序复杂度,java,eclipse,algorithm,time-complexity,Java,Eclipse,Algorithm,Time Complexity,我试图计算这个数组奇数求和代码的时间复杂度。我已经做了两种方法,现在我需要计算顺序复杂性O(n) 这是由弱后条件完成的 private static int sumaImparDebilit(int t[], int desde, int hasta) { if (desde==hasta) { if ((t[desde] % 2) == 1) { return t[desde]; } return 0; }

我试图计算这个数组奇数求和代码的时间复杂度。我已经做了两种方法,现在我需要计算顺序复杂性O(n)

这是由弱后条件完成的

private static int sumaImparDebilit(int t[], int desde, int hasta) {
    if (desde==hasta) {
        if ((t[desde] % 2) == 1) {
            return t[desde];
        }
        return 0;
    } 
    if (t[desde]%2 == 1) {
        return (t[desde] + sumaImparDebilit(t,(desde+1),hasta));
    }
    return (sumaImparDebilit(t,(desde+1),hasta));

}
private static int sumaImparFortalec(int t[], int hasta, int limite, int parcial) {
    if (hasta <= limite) {
        if ((t[hasta] % 2) == 1) {
            return sumaImparFortalec(t,(hasta + 1),limite,(parcial + t[hasta]));
        } else {
            return sumaImparFortalec(t,(hasta + 1),limite,(parcial));
        }
    }
    else {
        return parcial;
    }
}
这一步是通过强先决条件完成的

private static int sumaImparDebilit(int t[], int desde, int hasta) {
    if (desde==hasta) {
        if ((t[desde] % 2) == 1) {
            return t[desde];
        }
        return 0;
    } 
    if (t[desde]%2 == 1) {
        return (t[desde] + sumaImparDebilit(t,(desde+1),hasta));
    }
    return (sumaImparDebilit(t,(desde+1),hasta));

}
private static int sumaImparFortalec(int t[], int hasta, int limite, int parcial) {
    if (hasta <= limite) {
        if ((t[hasta] % 2) == 1) {
            return sumaImparFortalec(t,(hasta + 1),limite,(parcial + t[hasta]));
        } else {
            return sumaImparFortalec(t,(hasta + 1),limite,(parcial));
        }
    }
    else {
        return parcial;
    }
}
私有静态int sumaImparFortalec(int t[],int hasta,int limite,int parcial){

if(hasta我不知道你所说的“弱”和“强”条件是什么意思,但它们都有时间复杂度O(n)并且(没有充分的理由)使用递归

当然,这是最简单、最快的:

int sum = 0;
for (int i = 0; i < t.length; i++)
    if (t[i] % 2 == 1)
        sum += t[i];
int和=0;
对于(int i=0;i
我不知道你所说的“弱”和“强”条件是什么意思,但它们都有时间复杂性O(n)并且采用递归(没有充分的理由)

当然,这是最简单、最快的:

int sum = 0;
for (int i = 0; i < t.length; i++)
    if (t[i] % 2 == 1)
        sum += t[i];
int和=0;
对于(int i=0;i
你有遍历数组的主函数吗?如果有,请回答你的问题。更多关于@williamprigolopes的信息,我用main做了一个新问题。链接是:你有遍历数组的主函数吗?如果有,请回答你的问题。更多关于@williamprigolopes我用main做了一个新问题。lin这是什么