heapsort

    2热度

    1回答

    我不确定如何将项目插入到我的最大堆中,然后慢慢向上以使max heap属性保持不变。 如果heapArray已满,我已经引发异常,因此无法插入项目。 我没有使用JCF类或该程序的优先级队列。 我也引发了我的deleteMax方法,该方法删除堆的最大值并恢复堆,使max heap属性保持不变。 public class MaxIntHeap { //my global var's private

    0热度

    1回答

    我已经实现了一个minHeap类,所以我很好奇,如果不修改代码,可以使用minHeap类作为最大堆?

    2热度

    2回答

    我从算法书的介绍中编写了MAX-HEAPIFY(A,i)方法。现在我想用while循环不递归地编写它。你能帮我吗?

    0热度

    2回答

    #define HEAP_MAX_SIZE 100 #include <stddef.h> #include <stdio.h> #include <stdlib.h> int size; int heap[HEAP_MAX_SIZE]; int printcounter=0; void swap(int *a, int *b) { int temp = *b;

    0热度

    1回答

    #include<iostream> #include<vector> #include<algorithm> #include<math.h> using namespace std; void heapsort(vector<int> &input,int count){ } int max_v(int tree[]){ int result; re

    4热度

    1回答

    我阅读CLRS和它说的堆排序是 HEAPSORT(A): BUILD-MAX-HEAP(A); for (i = A.length; i >= 1; i++) { exchange A[1] with A[i]; A.heap-size = A.heap-size - 1; MAX-HEAPIFY(A,1); } MAX_HEAPIFY是O(lg n)。这

    0热度

    1回答

    跟踪创建从以下列表中显示的堆,显示该过程的每个阶段 a。 {5,13,2,25,7,17,20,8,4}最小堆 我希望我正在做这个权利。在进行下一个问题之前,我想确定这是否正确。任何意见或帮助将不胜感激。

    -3热度

    1回答

    我已经尝试了很多使用调试器和单步执行的调试,但有些无法按升序对数组进行排序。 我已经实现了一个maxHeap并想按升序对数组进行排序。 这是我的完整代码,请告诉我我在哪里错了。 #include <iostream> struct maxHeap { int sizeOfHeap; int *array; }; // Ptr to heap maxHeap *hea

    0热度

    1回答

    我知道如何在Java中编程,我对Python非常陌生。我试图在Python中实现HeapSort,但是我无法得到这段代码出错的地方。谁能帮忙? 这是我实现: class HeapSort: def sort(self,list): self.p = list self.N = len(list) for k in range(N/2,1,-1):

    0热度

    1回答

    我正准备参加Google开发者面试并处理算法问题。我需要弄清楚如何使用Heapsort算法得到大小为n的第一个元素x。算法的哪个部分需要修改才能得到最小的第一个元素? 这是简介堆排序算法,算法由Cormen Leiserson(第155页): HEAPSORT(A) { BUILD-MAX-HEAP(A) for i = A.length down to 2 ex