Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-02-2006, 11:41   #1
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
[JAVA] Alberi e Metodo Ricorsivo per contare le foglie

Ciao,
ho come esercizio l'implementazione di un metodo ricorsivo con questa intestatura:

int calcola(AlberoBinario a)

che prende un albero binario e ritorna il numero di foglie che esso possiede.

Un albero binario è un insieme di nodi, che partono da un'unica radice e si raddoppiano ogni volta scendendo di livello... il nodo superiore è detto padre e i due nodi inferiori sono detti figli..

un nodo è detto foglia quando non possiede nessun figlio!!

Quindi il metodo deve ricorsivamente controllare tutti i nodi che non hanno nessun figlio e ritornarne l'esatto numero.

Questa è la soluzione a cui ho pensato.. sapreste dirmi se è giusta o se ho sbagliato qualcosa? Grazie

Codice:
public int calcola(AlberoBinario a){
if(a==null) return 0;  //se l'albero è uguale a null vuol dire che è finito e io sono uscito fuori dall'ultima foglia
int f=0;
if(a.figlioSX==null&& a.figlioDX==null) f++; //supponendo che a.figlioSX e DX ritornino true se il nodo ha figlio e false altrimenti
f=calcola(a.figlioSX);
f=calcola(a.figlioDX);
return f+=f;
}
Spero di essere stato abbastanza chiaro! Grazie a chi vorrà darmi il suo parere
__________________
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2006, 12:51   #2
luxorl
Senior Member
 
L'Avatar di luxorl
 
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
up
__________________
luxorl è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2006, 13:39   #3
Galotar
Utente sospeso
 
L'Avatar di Galotar
 
Iscritto dal: Jul 2002
Città: Ostia/Roma
Messaggi: 1191
Quote:
Originariamente inviato da luxorl
Ciao,
ho come esercizio l'implementazione di un metodo ricorsivo con questa intestatura:

int calcola(AlberoBinario a)

che prende un albero binario e ritorna il numero di foglie che esso possiede.

Un albero binario è un insieme di nodi, che partono da un'unica radice e si raddoppiano ogni volta scendendo di livello... il nodo superiore è detto padre e i due nodi inferiori sono detti figli..

un nodo è detto foglia quando non possiede nessun figlio!!

Quindi il metodo deve ricorsivamente controllare tutti i nodi che non hanno nessun figlio e ritornarne l'esatto numero.

Questa è la soluzione a cui ho pensato.. sapreste dirmi se è giusta o se ho sbagliato qualcosa? Grazie

Codice:
public int calcola(AlberoBinario a){
if(a==null) return 0;  //se l'albero è uguale a null vuol dire che è finito e io sono uscito fuori dall'ultima foglia
int f=0;
if(a.figlioSX==null&& a.figlioDX==null) f++; //supponendo che a.figlioSX e DX ritornino true se il nodo ha figlio e false altrimenti
f=calcola(a.figlioSX);
f=calcola(a.figlioDX);
return f+=f;
}
Spero di essere stato abbastanza chiaro! Grazie a chi vorrà darmi il suo parere
Leggendo il codice tu assegni ad "f" prima il conteggio delle foglie dei figli sinistri e poi riassegni sempre ad "f" quelle del figlio destro : in ultima analisi ritorni f(foglie ramo destro) + se stesso.
Io farei cosi :

public int calcola(AlberoBinario a){
if(a==null) return 0;
if(a.figlioSX==null&& a.figlioDX==null) return 1;
int g=calcola(a.figlioSX);
int h=calcola(a.figlioDX);
return g+h;
}

Prova e fammi sapere.
Mii che pippe mentali
__________________
Codice:
Ho concluso affari con : 8310(1,2),luxo,weather65,gokou,Zara,LotharInt,Mammabell,cionci,omerook,nathbigga,V0r[T3X],FatMas,3N20,smickys,CICUS,Dreamland,morpheus89,AMDman,Andi89,drive97,mich25,killerbox,abc3d,Sclergio,saint80,mazä,MR_GINO,OdinEidolon,ezekiel22

Ultima modifica di Galotar : 15-02-2006 alle 13:43.
Galotar è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2006, 15:15   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Galotar, il tuo algoritmo ha un paio di problemi:
1) non devi ritornare g+h ma g+h+1
2) il secondo if è inutile

io lo farei così:
Codice:
int calcola(AlberoBinario a) {
	if (null == a) {
		return 0;
	}
	return calcola(a.figlioSX) + calcola(a.figlioDX) + 1;
}
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2006, 15:27   #5
Galotar
Utente sospeso
 
L'Avatar di Galotar
 
Iscritto dal: Jul 2002
Città: Ostia/Roma
Messaggi: 1191
Quote:
Originariamente inviato da 71104
Galotar, il tuo algoritmo ha un paio di problemi:
1) non devi ritornare g+h ma g+h+1
2) il secondo if è inutile

io lo farei così:
Codice:
int calcola(AlberoBinario a) {
	if (null == a) {
		return 0;
	}
	return calcola(a.figlioSX) + calcola(a.figlioDX) + 1;
}
1)Perchè devi aggiungiere 1?
2)Se Figlio è null non dovrebbe ritornare 0?

Fammi capire non ho capito perchè sono errori.

Edito : adesso ho capito credevo avessi levato l'if con il ritorno 0.
Cmq dovrebbe funzionare pure il mio di algoritmo,il tuo è più elegante ed efficiente sicuramente.
__________________
Codice:
Ho concluso affari con : 8310(1,2),luxo,weather65,gokou,Zara,LotharInt,Mammabell,cionci,omerook,nathbigga,V0r[T3X],FatMas,3N20,smickys,CICUS,Dreamland,morpheus89,AMDman,Andi89,drive97,mich25,killerbox,abc3d,Sclergio,saint80,mazä,MR_GINO,OdinEidolon,ezekiel22

Ultima modifica di Galotar : 15-02-2006 alle 15:58.
Galotar è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2006, 16:12   #6
Qu@ker
Member
 
Iscritto dal: Apr 2004
Messaggi: 130
Quote:
Originariamente inviato da 71104
Codice:
int calcola(AlberoBinario a) {
	if (null == a) {
		return 0;
	}
	return calcola(a.figlioSX) + calcola(a.figlioDX) + 1;
}
Questo pero' calcola il numero dei nodi, non delle foglie.
Qu@ker è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2006, 16:13   #7
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Galotar
1)Perchè devi aggiungiere 1?
2)Se Figlio è null non dovrebbe ritornare 0?

Fammi capire non ho capito perchè sono errori.

Edito : adesso ho capito credevo avessi levato l'if con il ritorno 0.
Cmq dovrebbe funzionare pure il mio di algoritmo,il tuo è più elegante ed efficiente sicuramente.
no, il mio non funziona perché ho letto solo adesso che l'algoritmo deve contare solo le foglie ^_^'
quello che ho scritto io conta tutti i nodi, invece per contare le foglie era corretto il tuo.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2006, 16:13   #8
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Qu@ker
Questo pero' calcola il numero dei nodi, non delle foglie.
appunto
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2006, 16:26   #9
Galotar
Utente sospeso
 
L'Avatar di Galotar
 
Iscritto dal: Jul 2002
Città: Ostia/Roma
Messaggi: 1191
Quote:
Originariamente inviato da 71104
no, il mio non funziona perché ho letto solo adesso che l'algoritmo deve contare solo le foglie ^_^'
quello che ho scritto io conta tutti i nodi, invece per contare le foglie era corretto il tuo.

Miii che caciara st'algoritmo
__________________
Codice:
Ho concluso affari con : 8310(1,2),luxo,weather65,gokou,Zara,LotharInt,Mammabell,cionci,omerook,nathbigga,V0r[T3X],FatMas,3N20,smickys,CICUS,Dreamland,morpheus89,AMDman,Andi89,drive97,mich25,killerbox,abc3d,Sclergio,saint80,mazä,MR_GINO,OdinEidolon,ezekiel22
Galotar è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
CAS Space ha lanciato per la prima volta...
Qualcomm boccia Samsung: i futuri chip S...
Il razzo spaziale cinese Tianlong-3 di S...
Samsung cambia i piani: aumenta la produ...
TSMC non si ferma più: fatturato ...
Xiaomi porta in Italia il nuovo Redmi A7...
Mercato smartphone: Q1 2026 positivo (+1...
YouTube punta sull'AI: gli utenti potran...
Il prossimo chip a 2 nm di Samsung punte...
Due smartphone REDMAGIC sono stati rimos...
La beta della One UI 8.5 è ora di...
Addio al Pannello di Controllo di Window...
Il chip N1 di NVIDIA per i laptop del fu...
YouTube Premium costerà di pi&ugr...
I nuovi Samsung Galaxy A57 5G e A37 5G a...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:35.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v