[ Foro de Java ]
Hola, buenas tardes. Estoy haciendo el algoritmo de Java pero el profesor nos ha dicho que no podemos implementar niguna colección de Java ya predefinida. Si estoy haciendo este algoritmo con una cola de priporidad utilizando solo las funciones offer() y poll() como las puedo implementar por mi mismo? Este es el código:
public static ArbreHuffman constArbre(int[] frecLletres) {
// Crea una cua de prioritat
// La cua es crearà en l'ordre de freqüència de la lletra del text
PriorityQueue<ArbreHuffman> arbres = new PriorityQueue<ArbreHuffman>();
// Crea les fulles dels arbres per a cada lletra
for (int i = 0; i < frecLletres.length; i++){
if (frecLletres[i] > 0)
arbres.offer(new HuffmanFulla(frecLletres[i], (char)i)); // Insereix els elements, node fulla, a la cua de prioritat
}
// Feu un recorregut per tots els elements de la cua
// Creació de l’arbre binari de baix a dalt
while (arbres.size() > 1) {
// Obteniu els dos nodes amb menys freqüència
ArbreHuffman a = arbres.poll(); // enquesta: retorna el següent node de la cua o NULL si no en té més
ArbreHuffman b = arbres.poll(); // enquesta: retorna el següent node de la cua o NULL si no en té més
// Creeu els nodes d'arbres binaris
arbres.offer(new HuffmanNode(a, b));
}
// Retorna el primer node de l'arbre
return arbres.poll();
}
Este algoritmo se basa en Huffman que es un codificador y descodificador que no lo he dicho
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)