• Domingo 19 de Mayo de 2024, 18:25

Autor Tema:  Esta bien - Arbol Binario de Busqueda de DiccionarioMultiple  (Leído 1248 veces)

nicksynm

  • Visitante
Esta bien - Arbol Binario de Busqueda de DiccionarioMultiple
« en: Domingo 13 de Junio de 2010, 01:18 »
0
Hola gente como les va,

Les cuento estoy haciendo un trabajo practico que consiste en definir la implementacion de un DiccionarioMultipleAbb (Arbol binario de busqueda de diccionario multiple ), el profesor me da definicio la interface, y yo tengo q hacer la implementacion tal cual me la describe. Arme este post con el proposito de subir el codigo q voy haciendo para verificar q este bien.

representacion internda del DiccionarioMultipleABB /* la debo respetar, no puedo modificarla*/

Código: Java
  1. private class NodoABB {
  2.         int clave;
  3.         ConjuntoStringTDA valores;
  4.         DiccionarioMultipleABBTDA hijoIzq;
  5.         DiccionarioMultipleABBTDA hijoDer;
  6.     }
  7.    
  8.     private NodoABB raiz;
  9.  
esta implementacion es de:

void agregar(int clave, String valor)

/* lo q hago es recorrer el arbol para ver si existe la clave, si existe verifico q no tenga el valor, si no lo tiene, se lo agrego*/ /* si la clave no existe se la agrego con el valor*/


Código: Java
  1.     public void Agregar(int clave, String valor) {
  2.         int est = 0;
  3.         if(raiz.clave==clave){
  4.             if(!raiz.valores.Pertenece(valor)){ /*pertenece se fija si el valor esta en el conjuntoString*/
  5.                 raiz.valores.Agregar(valor);
  6.                 est = est + 1;
  7.             }
  8.             else{
  9.                 est = est + 1;
  10.             }
  11.         }
  12.             if(raiz == null && (est == 0)){
  13.                     raiz = new NodoABB();
  14.                     raiz.clave = clave;
  15.                     raiz.valores.Agregar(valor); /*agregar agrega el valor al conjuntoString*/
  16.                     raiz.hijoIzq = new DiccionarioMultipleABBImpl ();
  17.                     raiz.hijoIzq.DiccionarioVacio();
  18.                     raiz.hijoDer = new DiccionarioMultipleABBImpl ();
  19.                     raiz.hijoDer.DiccionarioVacio();
  20.             }
  21.             else if ( raiz.clave > clave && (est == 0) )
  22.                 raiz.hijoIzq.Agregar(clave, valor);
  23.             else if (raiz.clave < clave && (est == 0))
  24.                 raiz.hijoDer.Agregar(clave,valor);
  25.    
  26.  


Como soy nuevo en java, queria pedirles si me pueden decir si es correcto el codigo, por q tengo la sensacion de q algo estoy haciendo mal, pero no se q. Gracias!!