Ciao.
Di seguito posto il codice che ho scritto per verificare in maniera ricorsiva se e solo se , tutti gli elementi presenti in un albero binario a , sono presenti anche in un albero binario b.
Correggetemi se sbaglio.
Interfaccia:
Metodo per la verifica:codice:public interface AlberoBinario{ public AlberoBinario destro(); //restituisce il sottoalbero destro dell'albero corrente public AlberoBinario snistro(); //restituisce il sottoalbero sinistro dell'albero corrente public in val(); //restituisce il valore memorizzato nella radice dell'albero
codice:public static boolean verifica(AlberoBinario a, AlberoBinario b){ if(a==null) return true; if(presente(b,a.val()){ boolean b = verifica(a.destro()); if(b) return verifica(a.sinistro()); } return false; } boolean presente(AlberoBinario a , int v){ if(a==null) return false; if(a.val() != v){ boolean b = presente(a.destro(), v); if(b) return presente(a.sinistro(),v); } return false; }

 
			
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando