如有疑问可加QQ:936285470,交流技术扯淡都可以
前两天朋友让帮忙写一个论文里面的矩阵拆分算法,大概的意思就是有一个m×n的矩阵,给定一个整数k,然后按照k的 值将矩阵拆分成m×k的矩阵,求所有的方案。
看了之后想了一下,最简单的排列组合算法嘛,就去百度了一段排列组合代码下来改(不想手写你懂得)
后面找到了一个排列组合写的还不错的博,我这里面有一部门代码用的也是他的,大家如果觉得我写的看不懂的话可以去看看他的
地址:http://www.cnblogs.com/luxiaoxun/archive/2012/08/08/2628153.html
排列组合算法的递归实现:
/**
* 排列组合函数
*a[] 将要拆分的矩阵的列号按顺序排列的数组
*b[] a数组的标记辅助数组
*start a数组的开始位置
*end a数组的结束位置
*/
void combine(int a[], boolean b[], int start, int end)
{
int columnArr[]=new int[a.length]; //子矩阵所包含大矩阵哪几列的记录数组
if(start > end)
{
for(int i = 0; i <= end; ++i)
{
if(b[i]){
</