小编Ach*_*lai的帖子

已排序数组的时间复杂度最小的排序算法?

我有一个问题,当我们得到一个已经排序的数组时,哪种排序算法的时间复杂度最低。

sorting algorithm time-complexity

3
推荐指数
1
解决办法
3339
查看次数

当我使用“n--”而不是“n-1”时,为什么会出现 stackoverflow 错误?

在此代码中,这是一个递归打印元素 1 到 5 的程序,当我使用n--代替 时n-1,出现堆栈溢出错误。而当n-1使用时,代码运行得很好。不应该n--n-1在此代码中工作相同吗?

    //when using n--

    class PrintElements1to5
    {
        public static void main(String[] args)
        {
            recursivePrint(5);
        }
    
        static void recursivePrint(int n)
        {
            if(n<1)
                return;
            recursivePrint(n--);  
            System.out.print(n+" ");
        }
    }
Run Code Online (Sandbox Code Playgroud)

输出:

Exception in thread "main" java.lang.StackOverflowError
Run Code Online (Sandbox Code Playgroud)
    //when using n=n-1
    class PrintElements1to5
    {
        public static void main(String[] args)
        {
            recursivePrint(5);
        }
    
        static void recursivePrint(int n)
        {
            if(n<1)
                return;
            recursivePrint(n-1);
            System.out.print(n+" ");
        }
    }
Run Code Online (Sandbox Code Playgroud)

输出:

1 2 3 4 5 
Run Code Online (Sandbox Code Playgroud)

java recursion

0
推荐指数
1
解决办法
68
查看次数

标签 统计

algorithm ×1

java ×1

recursion ×1

sorting ×1

time-complexity ×1