|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Apr 2008
Messaggi: 25
|
[JAVA] Problema con albero binario..!!
Devo implementare un metodo booleano che passandogli due Alberi binari ( A e B) come parametri, deve verificare se gli elemeni contenuti nell'albero A sono contenuti anke nell Albero B..! Ho a disposizione tre interfacce, int val(), AlberoBinario sin(), AlberoBinario des(); Ho provato a memorizzare i valori dell albero A e dell albero B in due LinkedList e poi scorrerle kon l'iteratore ma nn so kome fare a memorizzare gli elementi x konfrontarli tra di loro..!! Chi mi aiuta??
![]() ![]() Ultima modifica di stratosfe : 14-04-2008 alle 20:28. |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2776
|
Devi specificare il linguaggio nel titolo
|
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Apr 2008
Messaggi: 25
|
Linguaggio java..!
|
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: Apr 2008
Messaggi: 25
|
ok! Grazie! quindi ad ogni elemento ke scorro sulla prima lista rikiamo il metodo contains x vedere se è presente nell'altra lista..! Un ultima domanda, come visita degli alberi posso fare l anticipata?
|
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Al posto che trasformare l'albero A in una lista, la cui Contains viene risolta in O(N), perche' non fai una bella Contains sull'albero, la cui complessita' e' O(Log N).
Cosi' fai anche contento il professore, altrimenti perche' avrebbe detto: Avete 2 alberi binari? Avrebbe potuto dire: Avete 2 liste... (sempre se si tratta di un esercizio) Se pero' dovessi proprio trasformarlo in qualcosa perche' l'albero non mi piace, invece della lista io sceglierei una hastable, la cui complessita' della contains e' O(1).
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
#7 |
Junior Member
Iscritto dal: Apr 2008
Messaggi: 25
|
si infatti è un esercizio..! Dice anke di usare metodi di appoggio se sono necessari..! quindi lascio gli alberi in quel modo e li scorro kon la visita anticipata..? Ma quest esercizio può essere fatto in modo ricorsivo?
|
![]() |
![]() |
#8 | ||
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2776
|
Quote:
Quote:
|
||
![]() |
![]() |
#9 |
Junior Member
Iscritto dal: Apr 2008
Messaggi: 25
|
No contains posso fare anke a meno di ridefinirlo, basta fare la kiamata..! ricorsivamente posso fare solo la visita, altro nn lo posso fare..! L elemento nn deve essere nella stessa posizione x forza, può essere x esempio ke sia nell albero A in prima posizione e nell albero B in ultima posizione...!
|
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Se non e' ordinato e' perfettamente inutile come albero, tanto vale trasformarlo in lista (o meglio ancora la hastable) per questo problema Se invece fosse ordinato direi invece meglio la visita ricorsiva direttamente sull'albero
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2776
|
Quote:
Codice:
class Albero{ public boolean contains(TipoOggetto elem){ ... } } |
|
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Thread chiuso
| V |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:52.