我正在审核Heap Sort Algorithm。我想知道它为什么在二叉树中实现?可以用其他树吗?比如三子节点树?还是四个?有了更多的子计数,但删除操作需要多一点比较。树的高度可以减少更多。我相信与二叉树实现相比,时间成本应该显着。
答案 0 :(得分:1)
维基百科也显示了成本差异 - 它只有12%。 树高应该以log(3)/ log(2)〜= 1.5
的系数降低你得到的代价是过于复杂的代码以及有更多错误的风险。 通常当heapsort性能不满足时,你会寻找另一种算法。这可以为您带来更多的性能提升。
答案 1 :(得分:0)
根据维基百科的说法,三元堆更快,但实施起来更复杂。