使用阵列快捷方式形成二进制堆

Formation of Binary Heaps using Arrays Shortcut

本文关键字:二进制 快捷方式 阵列      更新时间:2023-10-16

如果我们按上升顺序排列数组,那么我们将获得二进制堆。是否有此优势的缺点。如果是,那是什么原因?

"按上升顺序排列数组,然后我们将获得二进制堆"。这是对的。现在取决于您用哪种算法按升序对数组进行排序。最好的排序算法具有复杂性O(NLogN)

虽然仅创建二进制堆的算法Build_Heap具有O(N)的复杂性。

除非您使用基于非繁殖的排序方法(例如Counting Sort),您的创建二进制堆的复杂性将至少为O(NLogN),而最大的O(N^2)

因此,创建二进制堆的传统方法是有利的。

尽管Counting Sort将需要O(N)时间,但需要额外的空间O(N),而传统的Build_Heap将是创建二进制堆在场