Es un árbol, para las victorias de un tenista, si alguien me ayuda a optimizar mi código, se lo agradecería bastante, gracias!
public class ArbolDeVictorias <T>{ private T raiz; private ArbolDeVictorias<T> tenista1; private ArbolDeVictorias<T> tenista2; public ArbolDeVictorias(T raiz) { this.raiz =raiz; tenista1 =tenista2 = new ArbolDeVictorias<T>(); } public ArbolDeVictorias() { raiz = null; tenista1 = null; tenista2 = null; } public ArbolDeVictorias<T> Tenista2() { return tenista2; } public ArbolDeVictorias<T> Tenista1() { return tenista1; } public T Raiz() { return raiz; } public boolean EsVacio() { return raiz==null; } public boolean EsHoja() { return tenista1.EsVacio()&&tenista2.EsVacio(); } public int Altura() { if(EsHoja()) return 0; int max =0; int h =0; if(!tenista1.EsVacio()) h=tenista1.Altura(); if(max <h+1) max = h+1; if(!tenista2.EsVacio()) h=tenista2.Altura(); if(max <h+1) max = h+1; return max; } public void Adicionar (ArbolDeVictorias<T> nuevo)throws Exception { if(nuevo.raiz.equals(raiz)) throw new Exception("Ya existe"); if( ((Comparable)nuevo.raiz).compareTo(raiz)==-1) { if(tenista1.EsVacio()) tenista1 =nuevo; else tenista1.Adicionar(nuevo); } if( ( (Comparable)nuevo.raiz).compareTo(raiz)==1) { if(tenista2.EsVacio()) tenista2 = nuevo; else tenista2.Adicionar(nuevo); } } public ListaSE<Tenista> listaDerrotados() { ListaSE<Tenista> derrotados= new ListaSE<Tenista>(); return derrotados; } public ListaSE<Tenista> alMenosUnaVictoria() { ListaSE<Tenista> alMenosUnaVictoria= new ListaSE<Tenista>(); return alMenosUnaVictoria; }}
Es un árbol, para las victorias de un tenista, si alguien me ayuda a optimizar mi código, se lo agradecería bastante, gracias!
public class ArbolDeVictorias <T>{
private T raiz;
private ArbolDeVictorias<T> tenista1;
private ArbolDeVictorias<T> tenista2;
public ArbolDeVictorias(T raiz)
{
this.raiz =raiz;
tenista1 =tenista2 = new ArbolDeVictorias<T>();
}
public ArbolDeVictorias()
{
raiz = null;
tenista1 = null;
tenista2 = null;
}
public ArbolDeVictorias<T> Tenista2()
{
return tenista2;
}
public ArbolDeVictorias<T> Tenista1()
{
return tenista1;
}
public T Raiz()
{
return raiz;
}
public boolean EsVacio()
{
return raiz==null;
}
public boolean EsHoja()
{
return tenista1.EsVacio()&&tenista2.EsVacio();
}
public int Altura()
{
if(EsHoja())
return 0;
int max =0;
int h =0;
if(!tenista1.EsVacio())
h=tenista1.Altura();
if(max <h+1)
max = h+1;
if(!tenista2.EsVacio())
h=tenista2.Altura();
if(max <h+1)
max = h+1;
return max;
}
public void Adicionar (ArbolDeVictorias<T> nuevo)throws Exception
{
if(nuevo.raiz.equals(raiz))
throw new Exception("Ya existe");
if( ((Comparable)nuevo.raiz).compareTo(raiz)==-1)
{
if(tenista1.EsVacio())
tenista1 =nuevo;
else
tenista1.Adicionar(nuevo);
}
if( ( (Comparable)nuevo.raiz).compareTo(raiz)==1)
{
if(tenista2.EsVacio())
tenista2 = nuevo;
else
tenista2.Adicionar(nuevo);
}
}
public ListaSE<Tenista> listaDerrotados()
{
ListaSE<Tenista> derrotados= new ListaSE<Tenista>();
return derrotados;
}
public ListaSE<Tenista> alMenosUnaVictoria()
{
ListaSE<Tenista> alMenosUnaVictoria= new ListaSE<Tenista>();
return alMenosUnaVictoria;
}
}