
Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
A implementação do algoritmo heap sort em java. O algoritmo consiste em construir uma árvore binária maxima, ordenar o vetor utilizando a função heapify e finalmente reorganizar o vetor. A função heapify é responsável por manter a árvore binária maxima após a troca de elementos.
Tipologia: Notas de estudo
1 / 1
Esta página não é visível na pré-visualização
Não perca as partes importantes!

public static void heapSort(int[] v) { buildMaxHeap(v); int n = v.length;
for (int i = v.length - 1; i > 0; i--) { swap(v, i , 0); maxHeapify(v, 0, --n); } } private static void buildMaxHeap(int[] v) { for (int i = v.length/2 - 1; i >= 0; i--) maxHeapify(v, i , v. length ); } private static void maxHeapify(int[] v, int pos, int n) { int max = 2 * pos + 1, right = max + 1; if (max < n) { if ( right < n && v[max] < v[right]) max = right; if (v[max] > v[pos]) { swap(v, max, pos); maxHeapify(v, max, n); } } }
public static void swap ( int[ ] v, int j, int aposJ ) { int aux = v [ j ]; v [ j ] = v [ aposJ ]; v [ aposJ ] = aux; }