哪些网站可以做网站wordpress无法搜索中文
news/
2025/9/23 16:53:27/
文章来源:
哪些网站可以做网站,wordpress无法搜索中文,视频拍摄要求,做外贸的零售网站减治法在生成组合对象问题中的应用
在深入浅出讲算法思想--蛮力法思想分析及应用这篇文章的最优解问题中中已经初步讲解了这类应用#xff0c;下面我们将使用减治法再次思考这类问题。
1、全排列问题#xff0c;在数学中求解一个n个数组合的全排列问题会产生n#xff01;…减治法在生成组合对象问题中的应用
在深入浅出讲算法思想--蛮力法思想分析及应用这篇文章的最优解问题中中已经初步讲解了这类应用下面我们将使用减治法再次思考这类问题。
1、全排列问题在数学中求解一个n个数组合的全排列问题会产生n个组合的情况。暴力枚举的确是个方法但是除非n非常的小不然这个时间复杂度是非常庞大的但是如果运用减治思想就可以解决这种问题我们便可以将我们可以将生成n个排雷的问题变为求解(n-1)个全排列的问题之后再将n插入n-1个元素每种排列中n可能的位置中去。因为n*(n-1)!n!所以这就是该算法的可行性分析。
1简单回溯实现 public class Main {static int[] a new int[4];static int[] visit new int[4];public static void main(String[] args) {int n 3;f(0, n);}private static void f(int cur, int n) {if (cur n) {for (int i 0; i n; i) {if ((i1) % 3 0) {System.out.print(a[i] );System.out.println();} else {System.out.print(a[i] );}}}for (int i 1; i n; i) {if (visit[i] 0) {visit[i] 1;a[cur] i;f(cur1, n);visit[i] 0;}}}
} 2Johnson-Trotter算法实现参考
johnson_trotter(生成排列算法)
3字典序实现第二种算法实现的结果输出是从最后一个开始的不过按照习惯上的写法我们总是希望结果是按照升序排列的而字典序可以实现这种即高效又是升序的效果。 public class Main {public static void main(String[] args) {int arr[] new int[]{1,2,3};sort(arr);for (int i 0; i arr.length; i) {System.out.print(arr[i]);}System.out.println();while(nextPermutation(arr)){for(int value : arr)System.out.print(value);System.out.println();}}public static boolean nextPermutation(int[] arr){int pos1 0;int pos2 0;/*** 找到使得a[i] a[i1]的最大的i赋给pos1* 用于将123变为132这样的情况* */int flag 0;for(int i arr.length - 2;i 0;i--) {if(arr[i] arr[i 1]) {pos1 i;flag 1;break;}}if(flag 0) {return false;}/*** 找到使得a[i]a[j]的最大的j赋给pos2* 用于362541变为364125这样的情况* */for(int j pos1 1;j arr.length;j) {if(arr[j] arr[pos1]) {pos2 j;}}/*** 交换a[pos1]与a[pos2]* */int temp arr[pos1];arr[pos1] arr[pos2];arr[pos2] temp;/*** 对a[i1]到a[n]逆序* */for (int i pos11; i arr.length; i) {for (int j arr.length-1; j i ; j--) {temp arr[i];arr[i] arr[j];arr[j] temp;}}return true;}/*** 冒泡* */public static void sort(int[] arr) {for(int i 0;i arr.length - 2;i) {for(int j 0;j arr.length - i - 1;j) {if(arr[j] arr[j 1]) {int temp arr[j];arr[j] arr[j 1];arr[j 1] temp;}}}}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/913221.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!