heapsort

    1熱度

    1回答

    分類收集下面我有 的VBA集合我想值進行排序,使得集合將最終在最高的雙重價值最高索引位置(即,值爲14的「e」在第一索引中,「c」在值10中是第二等)。這怎麼可能? Public Function SortCollection(ByVal c As Collection) As Collection Dim n As Long: n = c.Count If n = 0 Th

    0熱度

    1回答

    是否有函數來計算堆的最大堆和最小堆?最後一級? 例如,當堆大小爲128 是在HEAPSIZE 128,當我有128個節點的二叉樹?

    0熱度

    1回答

    我們必須用隨機數排序數組。對於這一點,我們需要使用代碼(堆排序),這部分 import java.util.ArrayList; public class HeapSort<E extends Comparable<E>> { public ArrayList<E> h; public int SIZE; public int n; public HeapSo

    0熱度

    1回答

    對於堆排序,如果我們想按升序對數組進行排序,那麼堆是否應該在最大堆或最小堆中轉換?

    -2熱度

    1回答

    我一直在尋找並嘗試這麼多,但無法弄清楚如何使用Heapsort按降序對List進行排序。而且我想用打印命令記錄我的計算,以便理解計算路徑。這是我的代碼工作: def swap(a, i, j): a[i], a[j] = a[j], a[i] def is_heap(a): n = 0 m = 0 while True: for i in [

    -2熱度

    1回答

    #include<iostream> using namespace std; int heapSize; void maxHeapify(int a[],int n,int i) { int l=2*i+1; int r=2*i+2; int largest=i; if(l<heapSize&&a[l]>a[i]) largest=l;

    2熱度

    1回答

    我已經看到了一些使用heapifyUp()和heapifyDown()方法的堆的實現。使用heapifyDown(無法我們實施heapifyUp())爲: for(int i = heap_size/2; i >= 0; i--) heapifyDown(i); 我beleive上面的代碼片斷的時間複雜度是O(n)(根據Cormen)。 現在heapifyUp()實現如下: whil

    1熱度

    1回答

    我正在做一個自定義的優先級隊列,我基本上是物體推到PQ和排序在該對象的特定鍵: 優先級隊列項類 package Graphs; public class PQEntry implements Comparable<PQEntry> { public int node; public int nodeVal; public PQEntry(int node, in

    0熱度

    2回答

    我正在使用算法,特別是heapsort。根據我的理解,heapsort算法涉及通過首先將其轉化爲最大堆來準備列表。 車削我 [2,8,5,3,9,1] 進入 [9,8,5,3,2,1] 隨着堆排序我我應該把9與1交換。但是通過在最大堆積之後直接查看數組,我會看到一個排序順序排列的列表。爲什麼當列表已經按降序排列時需要交換? 這只是我的想法看後有: https://www.youtube.com/w

    4熱度

    1回答

    執行heapsort時,只有一個最大元素從堆中提取,並與堆結尾處的元素交換,然後被認爲是堆不足。然後堆屬性使用heapify進行恢復。這樣做直到堆大小變爲零。 而不是假設我從堆中提取兩個最大元素而不再次調用heapify。第二個max元素將是max-heap的第二個或第三個元素。對於第二個最大元素,我可以將其與堆的第二個最後一個元素進行交換。接下來是heapsort的類似步驟。 取決於第二個最大元