|
阅读:860回复:5
[求助]一道简单的数据结构题(转自学术交流)
题目大概是这样的:
试编写一个O(1)的算法,把一个n阶矩阵 A[n][n]顺时针旋转90度,我想了好几天了,也没想通,只好上网上求助。(最好用类C语言写算法,谢谢,否则我可能看不懂哦??) |
|
|
|
1C#
发布于:2004-09-20 13:45
Re:[求助]一道简单的数据结构题(转自学术交流)
ft 我以为什么难题呢
不就是把数组a[j]变成a[j]就行了 |
|
|
|
2C#
发布于:2004-09-20 13:52
Re:[求助]一道简单的数据结构题(转自学术交流)
搞错了
呵呵 i,j = 1 to n 应当是这样,a[j]----->a[n-j+1] |
|
|
|
3C#
发布于:2004-09-23 08:45
Re:[求助]一道简单的数据结构题(转自学术交流)
但是时间复杂度是O(1),那么简单的实现能满足这个要求吗?要是能我企求这位高人说的再详细一点。
(我个人认为时间复杂度为O(1)的意思就是算法中不能出现与n有关的循环,我不知道我的理解对不对。) |
|
|
|
4C#
发布于:2004-09-28 13:16
Re:[求助]一道简单的数据结构题(转自学术交流)
说的是算法
理论上遍历和重新写入一个2维方阵就是2n*n 改下标实际上是一个2*n 因为实际下标的存储是用一个2叉树 就全好了 这些问题不用太执着,其实实际编程不用这么 大部分都是用数组之间倒的 乱七八糟的说了一堆,不知道你明白不明白我的意思 可以参考算法设计(书名大概如此),蓝色皮,200页左右,国防科大xx出版社的 |
|
|
|
5C#
发布于:2004-09-28 13:23
Re:[求助]一道简单的数据结构题(转自学术交流)
但是时间复杂度是O(1),那么简单的实现能满足这个要求吗?要是能我企求这位高人说的再详细一点。(我个人认为时间复杂度为O(1)的意思就是算法中不能出现与n有关的循环,我不知道我的理解对不对。)s 如果是把数据的读写都算,我也不会,如果你会了,把办法帖在下面 -------------------- [fly]我就是那头趟了取经混水的猪![/fly] |
|
|