因此,我的递归选择排序调用了两个函数max_index和交换,同时它应该递归地交换内容,但是由于某种原因,它似乎为某些数组(比如我在main中设置的数组)中断并爆炸。有人知道为什么会这样吗?int max_index(int arr[], int start, int end) if ( start >= end ) { }else if
我试图理解生成数组排列的算法的时间和空间复杂性。给定一个部分构建的排列,其中已经从k元素中选择了n元素,该算法从其余的n-k元素中选择元素k+1,并调用自己来选择其余的n-k-1元素:
public static List<List<Integer>,我们交换集合的元素2n时间,其中n是要置换的元素数,并进行n递归调用。,空间复杂度为O(max(n!, n)),其中n!是排列的总数