【问题标题】:Implementing heapsort without using a separate Heap Data Structure在不使用单独的堆数据结构的情况下实现堆排序
【发布时间】:2015-02-27 15:35:56
【问题描述】:

我想在不使用堆数据结构的情况下实现堆排序。更准确地说,我希望对原始数组进行所有更改。我试图实现它,但我被卡住了,因为它引入了另一种算法,例如选择排序或冒泡排序。那么如果我们不使用堆数据结构,那么什么样的排序会被称为堆排序呢?

【问题讨论】:

  • 就地已成为heapsort 的标准。一旦对您的实施感到满意,请尝试了解smoothsort
  • (您可能希望将标题更改为…without using a separate Heap Data Structure
  • mhm 感谢您的更正和回答

标签: algorithm sorting heap implementation heapsort


【解决方案1】:

堆的令人兴奋的地方在于,它可以简单地实现为数组中项的排列——它不需要任何带有元素之间指针的单独数据结构。 Greybeard 将您指向 wikipedia 页面,该页面对此进行了很好的处理,但简而言之,其想法是通过交换元素来构建堆,然后再次通过交换同一数组中的元素进行排序。

【讨论】:

    猜你喜欢
    • 2016-03-07
    • 2018-06-02
    • 2016-12-25
    • 2011-12-30
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    相关资源
    最近更新 更多