穷举置换(置换)算法的javascript实现

穷举置换(置换)算法的javascript实现
令人费解的事
数组中元素的排列
策略
递归的减少和处理
Javascript的解决方案
复制代码代码如下所示:
*由cshao 12 / 23 / 14。

* /

功能getpermutation(ARR){

如果(arr.length = = 1){

{是}返回;

}

var置换{ };

对于(var i = 0;i < arr.length;i++){

无功firstele = ARR {我};

无功arrclone = arr.slice(0);

ArrClone.splice(I,1);

无功childpermutation = getpermutation(arrclone);

对于(var j = 0;J < childpermutation.length;j++){

childpermutation {,} Unshift(firstele);

}

置换= permutation.concat(childpermutation);

}

返回排列;

}

VAR排列= getpermutation({ A,B,C});

Console.dir(排列);
结果
复制代码代码如下所示:

{ { A,B,C},

{ A、C、B},

{ B,A,c},

{ B,C,A },

{ C,A,B},

{ C,B,A } }

tag:算法穷举电脑软件Javascript

相关内容