我在努力解决I / O复杂性与空间复杂性与时间复杂性之间的术语。
我知道时间的复杂程度。但是,I / O的复杂性和空间复杂性是一样的吗?
提前感谢您的回答。
答案 0 :(得分:0)
我的理解如下:
是时间和 I / O 类似。差异 ALU 指令比现在 I / O 要快得多(在旧架构和 I / O 复杂性上不是这样)被忽略了)。因此,如果您一次计算某些内容或将其划分为子块,并且需要使用 I / O 存储/重新调整子结果,则情况就不一样了。时间复杂度是相同的,但 I / O 复杂性并不会影响运行时,如果不小心的话。
例如,来自 OpenGL 的常见错误是将纹理加载到 GPU 每帧而不是仅一次。即使是内存传输(通常使用 DMA ),也可以将其视为 I / O 操作。渲染时间复杂度相同......但 I / O 不是,并且fps可能会显着下降。如果你有很多纹理你按需加载它们(不是每帧,但例如每个级别,建筑,地图的一部分等...)所以fps仍然会很高,但代价是游戏/级别之间的加载时间/ ...相同的原则适用于任何 I / O 相关的东西,而不仅仅是图形......