首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

全排列算法的兑现

2012-09-19 
全排列算法的实现题目如下:a)求一个全排列函数:如p([1,2,3]) ,输出:[123],[132],[213],[231],[321],[323]。

全排列算法的实现
题目如下:
a)求一个全排列函数:如p([1,2,3]) ,输出:  [123],[132],[213],[231],[321],[323]。
b)求一个组合函数:    如p([1,2,3]) ,输出:[1],[2],[3],[1,2],[2,3],[1,3],[1,2,3]。

排列的解法



组合想了好久没想出思路,求指导啊!!
var matrix=[[1,2,3,4],[0,2,3,4],[0,0,3,4],[0,0,0,4]]; //var matrix=[[1,2,3],[0,2,3],[0,0,3]];function calc(arr, index){ for(var i=index; i<matrix.length; i++){ var temp=[]; for(var j=0; j!=arr.length; j++){ temp.push(arr[j]); } temp.push(matrix[i][i]); console.log(temp); calc(temp,i+1); }}calc([], 0);

output:
[1]
[1, 2]
[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 4]
[1, 3]
[1, 3, 4]
[1, 4]
[2]
[2, 3]
[2, 3, 4]
[2, 4]
[3]
[3, 4]
[4]

热点排行