【问题标题】:What are some interesting/practical uses for arrays with three or more dimensions?具有三个或更多维度的数组有哪些有趣/实用的用途?
【发布时间】:2011-02-09 14:54:57
【问题描述】:

使用数组时,我通常只使用一维或二维数组——很少使用三维或更多。我只是有点好奇,具有三个或更多维度的数组有哪些有趣/实用的用途?你曾经使用过四维或更多维的数组吗?我有一位大学教授在他在课堂上演示的程序中使用了一个六维数组……曾经有过更多吗?

【问题讨论】:

  • 在实践中,通常最好只使用多维数组作为抽象,并将所有内容实际存储在单个一维数组中。这可以提高大多数语言(尤其是那些有指针的语言)的安全性和性能。

标签: arrays data-structures


【解决方案1】:

在科学编程中,它可能很常见。我们只是开始称这些高维数组为张量。标量是 0 维张量,向量是 1 维张量,矩阵是 2 维张量,之后我们就称它们为 d 维张量(d=3,4,5,6)。然后将点积称为索引上的收缩。

它们在哪里使用?我在一些物理模拟中使用它们。例如,一种模拟晶格(规则的位点阵列)上的电子的方法使用一个张量,该张量具有一组不同的索引,用于与相邻位点的每个连接。在二维方格中(想想棋盘上每个空间中心的站点),这意味着每个张量有四个索引,每个相邻站点一个,所以它是一个 4 维张量。

【讨论】:

    【解决方案2】:

    在处理 3D 问题(如 3D 俄罗斯方块或此类游戏)时,阵列中的 3 个维度并不少见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 2011-06-24
      • 2010-10-13
      • 2011-04-16
      • 2014-07-29
      相关资源
      最近更新 更多