Vous êtes sur la page 1sur 2

rboles binarios

public boolean esCompleto() { boolean es = false; if ( darProductoIzquierda() == null && darProductoDerecha() == null ) es = true; if ( productoIzquierda != null ) es = productoIzquierda.esCompleto(); if ( productoDerecha != null && es ) es = productoDerecha.esCompleto(); return es; }

public Producto darMenorValor() { Producto menor = this; Producto temp1 = null; Producto temp2 = null; if ( productoIzquierda != null ) { temp1 = productoIzquierda.darMenorValor(); if ( temp1.darValor() < menor.darValor() ) menor = temp1; } if ( productoDerecha != null ) { temp2 = productoDerecha.darMenorValor(); if ( temp2.darValor() < menor.darValor() ) menor = temp2; } return menor; }

public void darInorden( ArrayList resultado ) { if ( productoIzquierda != null ) productoIzquierda.darInorden( resultado ); resultado.add( this ); if ( productoDerecha != null ) productoDerecha.darInorden( resultado ); }

rboles n-arios

public Distribuidor darDistribuidorConMasReferidosDirectos( ) { Distribuidor mayor = this; for ( int i = 0; i < referidos.size(); i++ ) { Distribuidor hijo = (Distribuidor) referidos.get(i); Distribuidor temp = hijo.darDistribuidorConMasReferidosDirectos(); if ( temp.darReferidosDirectos().size() > mayor.darReferidosDirectos().size() ) mayor = temp; } return mayor; }

public void darPreorden( ArrayList pDistribuidores ) { pDistribuidores.add( this ); for( int i = 0; i < referidos.size(); i++ ) { Distribuidor temporal = (Distribuidor) referidos.get(i); temporal.darPreorden( pDistribuidores ); } }

Binarios: Inorden: PreOrden: PostOrden IND NID IDN

N-arios:

Nodo Hijos Hijos Nodo

Vous aimerez peut-être aussi