我可以通过不同的方法为给定的数组获取多个完整的二叉树吗?
Can I get multiple complete binary trees for a given array by different methods?
这里我通过两种方法构建堆:
我可以为给定的数组获得多个完整的二叉树吗?
- 方法 1 - 插入;
- 方法二——子树
是的,对于相同的数据,您可以得到不同的完全二叉树作为堆,这取决于您使用的构建堆的方法。
请注意,第一种(插入)方法 [Williams 的方法] 比第二种 [Floyd 的方法] 效率低,但它们都产生了正确的堆,即使它们不相等。参见 Wikipedia: building a heap
这里我通过两种方法构建堆:
我可以为给定的数组获得多个完整的二叉树吗?
- 方法 1 - 插入;
- 方法二——子树
是的,对于相同的数据,您可以得到不同的完全二叉树作为堆,这取决于您使用的构建堆的方法。
请注意,第一种(插入)方法 [Williams 的方法] 比第二种 [Floyd 的方法] 效率低,但它们都产生了正确的堆,即使它们不相等。参见 Wikipedia: building a heap