在heapsort中只有一个正确的答案吗?

时间:2013-09-02 08:04:10

标签: sorting binary-tree heapsort

如果以表示优先级队列的空堆开始,其中数字必须按顺序插入然后表示为二叉树,那么只有一个严格的答案吗?我尝试过不同的Java堆生成器等,它们都给了我不同的答案。

1 个答案:

答案 0 :(得分:0)

如果你的意思是排序的表示,那么它显然是唯一的。

如果你的意思是二叉树表示,那么它也是唯一的 - 一个堆是一个完整的树 - 二进制树,其中每个级别,除了可能是最后一个,都被完全填充,并且所有节点尽可能地离开。

在所有堆操作之后,可能是insert,delete-max,build-heap,siftup,siftdown,堆仍处于可预测状态,我们可以知道它的二叉树表示将如何等。

你能否详细说明你如何得到不同的答案?