【发布时间】:2015-09-18 19:13:33
【问题描述】:
我读过一个术语抽象类型,这意味着您可以使用结构或骨架。我说的是二叉堆树。我读到它是一种抽象类型,但是当出现问题时,合并两个最小堆以创建最大堆的时间复杂度是多少? 我得到了一些答案,说将树的元素复制到数组中,然后使用构建堆方法 n 在 O(n) 时间内创建最大堆!但是,当您无法将树作为抽象类型遍历时,您将如何在 const 时间/或 O(n) 时间内复制最小堆的元素。剩下的唯一事情就是一个一个地删除所有元素 n 将其保存在数组中,这将花费 O(nlogn) 时间。 谁能花点时间让我理解这个疑问?
谢谢
【问题讨论】:
标签: algorithm data-structures tree