heapsort

    0

    1答えて

    私は正常に動作しているヒープソート、次のコードを書いている: class Heap(object): def __init__(self, a): self.a = a def heapify(self, pos): left = 2*pos + 1 right = 2*pos + 2 maximum = pos

    0

    1答えて

    私は、新しいノードをヒープに挿入するときに、通過する可能性のあるノードの量がlogNであると思います。それはなぜ(1 + logN)ですか?

    0

    1答えて

    乱数で配列をソートする必要があります。このために、我々はどのように我々は2つのコードを「接続」ん import java.util.ArrayList; public class HeapSort<E extends Comparable<E>> { public ArrayList<E> h; public int SIZE; public int n; p

    0

    1答えて

    ヒープソートの場合、配列を昇順にソートする場合は、ヒープを最大ヒープまたは最小ヒープに変換する必要がありますか?

    0

    1答えて

    ヒープソートを実行するプログラムを作成しています。私がremoveMin関数を実行しようとすると、ダウンヒートが発生すると、私は常に間違った出力を得ているようです。例えば 私がこの順に入力10個の整数を場合: 3, 6, 8, 3, 89, 35, 7, 9, 1, 4 私は 1, 3, 3, 4, 6, 7, 8, 9, 35, 89 を期待しかし、私は得る:ここで 1, 3, 3, 4

    0

    1答えて

    heapq.heappop(キュー)を使用すると、リストの最初の項目はポップされますが、残りのリストは変更されます。どうすればこれを防ぐことができますか? (R '' および以下 'O' を含むノートタプル) これは私のデバッグ出力である: キュー:PQ:[(1、2、Z '')、(1、3、 'T' キューの前にポップ:[(1,2、 'z')]、(2,4、 'r')、(2,5、 'o' 、(1、3、

    0

    1答えて

    ヒープソートで何かを実装する必要があり、バグがあります。ヒープクラスの : private serial[] data; private int size; private static final int FRONT = 1; public Heap(){ serial[] data = new serial[1000]; //serial - object with a Str

    2

    1答えて

    heapifyUp()と heapifyDown()メソッドを使用するヒープの実装をいくつか見てきました。私は上記のコードの時間複雑度は(Cormenに従って)O(N)である信じ for(int i = heap_size/2; i >= 0; i--) heapifyDown(i); :のように、我々はheapifyDown()を使用して)(heapifyUpを実装することができま

    1

    3答えて

    私は3つのランダムアクセスイテレータparent,child1、およびchild2を持っています。これらは、並べ替えられた配列の特定の値を指しています。 (コンテキスト:私はheapsortを実装しています;それらのイテレータはバイナリサブツリーを構成します)。 (ヒープの最大ヒーププロパティを維持するために)最も大きな参照値を持つイテレータを決定する必要があります。 #include <algo

    0

    1答えて

    私はオンラインコース以下のバイナリヒープを実装していますを与えるバイナリヒープ実装を作成し、私は次のように行われている:今 s = 'SORTEXAMPLE' a = BinaryHeap() for c in s: a.insert(c) :今 from __future__ import division class BinaryHeap(object): d