Fórum Dúvida de Heap (Kruskal) #238824
21/06/2004
0
Estou implementando o algoritmo de Kruskal, e para isso preciso montar um heap.
Alguém tem aí o algoritmo de montar o heap?
Alguém tem aí o algoritmo de montar o heap?
Gabriela
Curtir tópico
+ 0
Responder
Posts
22/06/2004
Ertai
HeapSort????
para ordenação????
para ordenação????
Responder
Gostei + 0
22/06/2004
Beppe
Pode ser assim:
Mas vc vai precisar tb a rotina que remove ítems do min-heap.
var MeuMinHeap: array[1..10] of Integer; NumItems: Integer; procedure Troca(var X, Y: Integer); var Temp: Integer; begin Temp := X; X := Y; Y := Temp; end; procedure Insere(Item: Integer); var I: Integer; begin Assert(NumItems < Length(MeuMinHeap)); Inc(NumItems); MeuMinHeap[NumItems] := Item; I := NumItems; while (I > 1) and (MeuMinHeap[I] < MeuMinHeap[I div 2]) do begin Troca(MeuMinHeap[I], MeuMinHeap[I div 2]); I := I div 2; end; end;
Mas vc vai precisar tb a rotina que remove ítems do min-heap.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)