如何在不使用任何循环的情况下转置矩阵。如果它是 nxn,我们可以将对角线作为基元素和移位元素。但是对于 nxm 矩阵,我认为这个解决方案是不可行的。
无论如何,要读取或存储我们需要使用循环对...??
没有循环的任何解决方案..??
如何在不使用任何循环的情况下转置矩阵。如果它是 nxn,我们可以将对角线作为基元素和移位元素。但是对于 nxm 矩阵,我认为这个解决方案是不可行的。
无论如何,要读取或存储我们需要使用循环对...??
没有循环的任何解决方案..??
如果您在一开始就知道矩阵的维度,那么您将不需要任何循环。因为您只需交换矩阵位置即可整体转置矩阵。在第一个条件下,即使维度是 mx n,您也不需要循环。
但是如果你一开始不知道矩阵的维数,那么在转置矩阵的过程中,我们肯定需要循环迭代矩阵以读取某个位置并交换到其他位置。
为了存储整个转置矩阵,您肯定需要使用循环。这并不是什么大问题,因为存储矩阵无论如何都使用循环,因为您需要遍历矩阵的成员来存储它。
如果您只是阅读它,则可以使用矩阵转置的定义并仅转换索引。例如,在 C 中:
int getTransposedElement(int i,int j, int** originalMatrix) {
return originalMatrix[j,i];
}
如果您使用具有类和多态性的语言,则可以创建一个新的矩阵类来自动执行此操作。这样做的另一个好处是它避免了复制原始矩阵,从而节省了内存并允许对转置矩阵的更改反映在原始矩阵中。