求解大矩阵旋转的快速算法

Bosicat 2001-12-28 04:57:34
各位高手,求解一个问题:

一个大矩阵(m X n),m 和 n的值都很大,其中矩阵中的每个值只有两种
可能(0或1),现在想求解快一点的矩阵旋转90度的算法,即矩阵变为(n X m)

这个算法想用在对一幅黑白图像进行90度旋转的地方。
希望高手提出一个快速算法。
...全文
133 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mythlee 2001-12-29
  • 打赏
  • 举报
回复
那就别旋转矩阵了,改成旋转坐标轴,对访问矩阵的坐标做变换。

旋转后 旋转前
nXm mXn
(i, j) -> (j, n-1-i)

int access_90(i, j)
{ return A[j][n-1-i];}
zhengbailin 2001-12-29
  • 打赏
  • 举报
回复
int a[m][n],b[n][m];
for(j=0;j<n;j++)
{for(i=0;i<m;i++)
a[i][j]=b[j][i];
printf("\n");
}
这样就可以了吧。
minkerui 2001-12-28
  • 打赏
  • 举报
回复
用循环语句控制循环变量竖着读取显示不会很慢吧。

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧