鉴于二项式堆是二项式树的集合,我很难理解我们如何以升序/降序有效地打印出二项式堆的内容(取决于它是否是最小/最大堆)。
目前我使用的方法是创建堆的克隆并提取最小值(因为这是最小二项式堆),直到所有元素都被提取出来。如果我理解正确,这将导致 O(n*log(n)) 时间,这是一个相当长的过程。
有没有什么方法可以加快这个过程,或者有什么其他的方法可以按升序打印出二项式堆的内容?
鉴于二项式堆是二项式树的集合,我很难理解我们如何以升序/降序有效地打印出二项式堆的内容(取决于它是否是最小/最大堆)。
目前我使用的方法是创建堆的克隆并提取最小值(因为这是最小二项式堆),直到所有元素都被提取出来。如果我理解正确,这将导致 O(n*log(n)) 时间,这是一个相当长的过程。
有没有什么方法可以加快这个过程,或者有什么其他的方法可以按升序打印出二项式堆的内容?