关于堆排序算法的问题

时间:2010-10-10 13:08:07

标签: algorithm

我正在审核Heap Sort Algorithm。我想知道它为什么在二叉树中实现?可以用其他树吗?比如三子节点树?还是四个?有了更多的子计数,但删除操作需要多一点比较。树的高度可以减少更多。我相信与二叉树实现相比,时间成本应该显着

2 个答案:

答案 0 :(得分:1)

维基百科也显示了成本差异 - 它只有12%。 树高应该以log(3)/ log(2)〜= 1.5

的系数降低

你得到的代价是过于复杂的代码以及有更多错误的风险。 通常当heapsort性能不满足时,你会寻找另一种算法。这可以为您带来更多的性能提升。

答案 1 :(得分:0)

根据维基百科的说法,三元堆更快,但实施起来更复杂。