I / O复杂性与空间复杂性与时间复杂性

时间:2017-07-19 07:34:06

标签: algorithm io time-complexity complexity-theory space-complexity

我在努力解决I / O复杂性与空间复杂性与时间复杂性之间的术语。

我知道时间的复杂程度。但是,I / O的复杂性和空间复杂性是一样的吗?

提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

我的理解如下:

  1. 时间复杂度表示操作(运行时)增长
  2. 空间复杂性表示内存使用量增长
  3. I / O复杂性代表 I / O 操作(运行时)增长
  4. 时间 I / O 类似。差异 ALU 指令比现在 I / O 要快得多(在旧架构和 I / O 复杂性上不是这样)被忽略了)。因此,如果您一次计算某些内容或将其划分为子块,并且需要使用 I / O 存储/重新调整子结果,则情况就不一样了。时间复杂度是相同的,但 I / O 复杂性并不会影响运行时,如果不小心的话。

    例如,来自 OpenGL 的常见错误是将纹理加载到 GPU 每帧而不是仅一次。即使是内存传输(通常使用 DMA ),也可以将其视为 I / O 操作。渲染时间复杂度相同......但 I / O 不是,并且fps可能会显着下降。如果你有很多纹理你按需加载它们(不是每帧,但例如每个级别,建筑,地图的一部分等...)所以fps仍然会很高,但代价是游戏/级别之间的加载时间/ ...相同的原则适用于任何 I / O 相关的东西,而不仅仅是图形......