代码之家  ›  专栏  ›  技术社区  ›  Naveen

内存使用对算法复杂性的影响

  •  4
  • Naveen  · 技术社区  · 15 年前

    1 回复  |  直到 15 年前
        1
  •  12
  •   Martin v. Löwis    15 年前

    查看gcc的STL,您会发现 inplace_merge 在里面 stl_algo.h . 这是合并排序的传统合并实现,使用与输入大小相同的缓冲区,使用O(N)。此缓冲区是通过 _Temporary_buffer 从…起 stl_tempbuf.h get_temporary_buffer ,最终调用新的。如果抛出异常,异常会被捕获,缓冲区为空-这就是“内存不足”的情况。在这种情况下,合并与 __merge_without_buffer