【问题标题】:merge sort without extra memory没有额外内存的合并排序
【发布时间】:2009-10-28 10:01:25
【问题描述】:

有没有什么条件可以在没有额外内存的情况下完成归并排序 我的教授说有,他会加分。

【问题讨论】:

  • 请用 [homework] 标签标记家庭作业。而且,请做好自己的功课。如果我给你答案,我不会得到荣誉。这不公平。
  • 为什么要在互联网论坛上发帖获得奖励积分?
  • 更糟糕的是,如果我们做好你的功课,你会毫无准备地去我们工作的公司面试。我们中的一个必须向您展示门。
  • ...这个问题的答案很容易在 Google 上找到。

标签: memory mergesort


【解决方案1】:

您想使用 google 就地合并排序。

这是结果之一: http://thomas.baudel.name/Visualisation/VisuTri/inplacestablesort.html

【讨论】:

    【解决方案2】:

    使用链表。这将避免合并 2 个列表期间所需的 O(n) 额外空间。但是,您不能对递归调用占用的空间做任何事情,即 O(lg(n))。

    【讨论】:

      【解决方案3】:

      是的,答案是使用in-place merge sort

      【讨论】:

      • in-place merge sort: 就地合并排序与数组是一个超出本讨论范围的复杂问题。
      【解决方案4】:

      鉴于这是一个家庭作业问题,我只能向您指出计算机编程的艺术。一个好的程序员应该能够使用我们领域的标准参考来研究这样的问题。

      【讨论】:

        猜你喜欢
        • 2011-09-03
        • 1970-01-01
        • 1970-01-01
        • 2021-10-20
        • 1970-01-01
        • 1970-01-01
        • 2018-10-15
        • 1970-01-01
        • 2015-08-30
        相关资源
        最近更新 更多