【发布时间】:2012-01-29 09:34:59
【问题描述】:
编程知识问题 7 是关于转置存储在 磁带 上的 4000 x 4000 矩阵。
我的解决方案是简单地使用临时变量并交换 a[i][j] 和 @ 的内容987654323@。
作者给出的解决方案让我有点困惑。他说我们应该:
- 将行索引和列索引添加到每个索引
- 按行对矩阵中的记录进行排序
- 删除附加的索引。
为什么要经历这么多麻烦才能完成这项工作?跟磁带有关系吗?
【问题讨论】:
-
在编写 Progrmming Pearls 时,一台具有 32K 可用内存的计算机将是一台相当“大机器”。 2 字节整数的 4000 X 4000 矩阵需要 32Mb 的量级来存储,因此不可能将其读入内存。尝试编写一个程序,在内存中转置一个非方阵 - 这个练习比你想象的更有趣(方阵很容易,非方阵,没那么多)。