【发布时间】:2014-06-02 22:51:16
【问题描述】:
任何人都可以建议一种算法来生成一个给定整数列表的行排序、列排序的二维矩阵吗? 我的意思是所有行和所有列都应该排序,最好是整个矩阵的 asc/desc 顺序。
我想出的是首先对元素列表进行排序,从 0,0 开始,然后将下一个元素放置在 0,1,然后是 1,0,然后是 0,2,然后是 2,0,依此类推。当行/列超出限制时,选择下一行/列并继续。
我的算法示例- 元素是从零开始的自然数。
3 X 5 矩阵 -
0 1 3 5 7
2 6 9 11 13
4 8 10 12 14
5 X 7 矩阵 -
0 1 3 5 7 9 11
2 10 13 15 17 19 21
4 12 18 23 24 26 28
6 14 20 25 29 30 32
8 16 22 27 31 33 34
这是对的吗? 你能提出一个替代算法和任何代码(Python/C)吗? 提前致谢。
编辑 - 最好不要使用 Python 中的任何其他库,例如numpy 等。有没有办法用简单的普通 python 代码来实现这个?
【问题讨论】:
标签: python c algorithm sorting matrix