Matrix 仅使用0和1生成NxN矩阵
我在这里要做的是使用Java生成一个完整的矩阵列表,其中NxN只填充了1和0 我知道当n变大时,列表中应该有大量矩阵 我能想到的唯一方法就是在for循环中构建for循环,在for循环中构建for循环……等等 我不需要这个函数在大量的n上工作,6就足够了。这在我的方法中是巨大的,需要36个循环来实现我的目标 谁能想出一个聪明的办法来解决我的问题 注:递归函数可能会有帮助,但我想不出来。希望这能有所帮助Matrix 仅使用0和1生成NxN矩阵,matrix,Matrix,我在这里要做的是使用Java生成一个完整的矩阵列表,其中NxN只填充了1和0 我知道当n变大时,列表中应该有大量矩阵 我能想到的唯一方法就是在for循环中构建for循环,在for循环中构建for循环……等等 我不需要这个函数在大量的n上工作,6就足够了。这在我的方法中是巨大的,需要36个循环来实现我的目标 谁能想出一个聪明的办法来解决我的问题 注:递归函数可能会有帮助,但我想不出来。希望这能有所帮助 private int[][] matrix; public void Cre
private int[][] matrix;
public void CreateMatrix(int n)
{
this.matrix = new int[n][n](); //initialize a NxN 2D array
createMatrixRow(0); //start filling from row 0
}
//start filling your matrix row by row
public void createMatrixRow(int rowNumber)
{
if(rowNumber==n) //break the recursion when matrix is full
return;
for(int i = 0; i<n;i++)
{
//assign values in the matrix based on row & column numbers
matrix[rowNumber][i] = generateValue(rowNumber, i);
}
createMatrixRow(rowNumber++); //recurse until your matrix is full
}
//Rules for generating values to be included here. I have written sample to generate identity matrix for identity matrix
public int generateValue(int rowNumber, int columnNumber)
{
if(rowNumber == columnNumber)
return 1;
else
return 0
}
private int[][]矩阵;
公共空创建矩阵(int n)
{
this.matrix=new int[n][n]();//初始化NxN 2D数组
createMatrixRow(0);//从第0行开始填充
}
//开始一行一行地填写矩阵
public void createMatrixRow(int rowNumber)
{
if(rowNumber==n)//在矩阵已满时中断递归
回来
对于(int i=0;在“节点”中)?你是说它是nxn?递归:将下一个元素设置为0,递归。然后将同一个元素设置为1,递归。并处理基本大小写。就是这样。@KarolyHorvath是的,很抱歉输入错误:)您将有2^(n^2)矩阵,n=6,等于68.719.476。736@KarolyHorvath你能帮我更详细地了解你的递归吗?