ayuda encode huffman tree
Publicado por Alvaro (2 intervenciones) el 20/11/2018 10:49:22
Hola necesito ayuda para un ejercicio de programación en java. El ejercicio consta de tres partes un constructor public Huffman(CharCode[] paths) del huffman tree un encode y decode, tanto el constructor como el decode he conseguido resolverlos pero sin embargo el encode me resulta imposible .
Esta es la documentacion que nos dan del metodo:
encode(String text)
Devuelve un String donde cada caracter se codifica por el
camino (codificado como caracteres ’0’ y ’1’) para llegar al
nodo con el caracter en el arbol Huffman
El metodo encode implica buscar en el arbol de Huffman el
caracter
Nos interesa el camino utilizado para llegar
Incluimos la cabecera de un metodo privado que os puede ser
util para buscar el caracter ch en el arbol
String findCharacterCode(Character ch,BinaryTree<Character> tree,Position<Character> pos,String path)
Recomendamos hacerlo recursivo, de tal forma que vaya
recorriendo el arbol y, mientras no encuentre el caracter ch
devuelva null y que cuando lo encuentre devuelva el camino
completo de 0’s y 1’s.
Gracias de antemano.
PD: No hace falta el codigo si alguien sabe como hacerlo o tiene una idea de como hacerlo me serviria una explicación. Gracias.
Esta es la documentacion que nos dan del metodo:
encode(String text)
Devuelve un String donde cada caracter se codifica por el
camino (codificado como caracteres ’0’ y ’1’) para llegar al
nodo con el caracter en el arbol Huffman
El metodo encode implica buscar en el arbol de Huffman el
caracter
Nos interesa el camino utilizado para llegar
Incluimos la cabecera de un metodo privado que os puede ser
util para buscar el caracter ch en el arbol
String findCharacterCode(Character ch,BinaryTree<Character> tree,Position<Character> pos,String path)
Recomendamos hacerlo recursivo, de tal forma que vaya
recorriendo el arbol y, mientras no encuentre el caracter ch
devuelva null y que cuando lo encuentre devuelva el camino
completo de 0’s y 1’s.
Gracias de antemano.
PD: No hace falta el codigo si alguien sabe como hacerlo o tiene una idea de como hacerlo me serviria una explicación. Gracias.
Valora esta pregunta


0