Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-04-2005, 16:42   #1
Ancosen
Member
 
L'Avatar di Ancosen
 
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 183
[C] Funzione Albero Binario Completo

Con questa consegna:

Si definisca una funzione C che restituisce 1 se l'albero in input è completo, 0 altrimenti. Un albero binario è completo se ogni nodo ha 0 o 2 figli e tutte le foglie sono al piu’ su due livelli successivi, con quelle sul livello massimo tutte a sinistra. In altre parole un albero binario e’ completo se per ogni nodo i suoi sottoalberi sinistro e destro hanno la stessa altezza, il sinistro e’ pieno e il destro completo oppure il sottoalbero di sinistra, completo, e’ di 1 piu’ alto di quello di destra, che deve essere pieno. La funzione ha il seguente prototipo: int completo(treePtr tPtr)

Io avevo pensato a questo visto che credo un po' tutto dipenda dall'altezza dell'albero in questione.

#include<stdio.h>
#include<stdlib.h>

struct treenode
{
struct treenode *lPtr;
int data;
struct treenode *rPtr;
};
typedef struct treenode TreeNode;
typedef TreeNode *treePtr;

int completo(treePtr tPtr);
int alt(treePtr tPtr);
int max (int x, int y);

int alt(TreePtr tPtr) {
if (!tPtr ) return -1;
return max(alt(tPtr->lPtr),alt(tPtr->rPtr)) +1;
}

int max (int x, int y) {
if (x<y) return y;
else return x;
}

int completo(treePtr tPtr)
{
if (alt(tPtr->lPtr) == alt(tPtr->rPtr))
return 1;
return 0;
}

La mia domanda è se la funzione implementata può essere migliorata e se manca qualcosa d'importante. Grazie mille!
Ancosen è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2005, 20:54   #2
Cr4m3
Member
 
L'Avatar di Cr4m3
 
Iscritto dal: Mar 2003
Città: Roma
Messaggi: 203
Oddio anke tu alle prese con gli homework?
Cr4m3 è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2005, 23:05   #3
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
LOL ma quanti ce ne sono che vengono dalla Sapienza???
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 14:45   #4
Ancosen
Member
 
L'Avatar di Ancosen
 
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 183
Up... Semo tanti della Sapienza!
Ancosen è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 14:46   #5
Cr4m3
Member
 
L'Avatar di Cr4m3
 
Iscritto dal: Mar 2003
Città: Roma
Messaggi: 203
:P se fossero un po piu chiari sti esercizi non ce ne sarebbe manco uno
Cr4m3 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 14:50   #6
Ancosen
Member
 
L'Avatar di Ancosen
 
Iscritto dal: Jan 2003
Città: Roma
Messaggi: 183
Si, in effetti Gorla con la consegna che ha dato, non ci fa capire una mazza...
Ancosen è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 18:34   #7
sirus
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 16053
non li ho ancora fatti sono ancora un pivello delle superiori ma l'anno prossimo faccio anche io
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 18:35   #8
Cr4m3
Member
 
L'Avatar di Cr4m3
 
Iscritto dal: Mar 2003
Città: Roma
Messaggi: 203
si sta meglio senza conosce gli alberi :P
Cr4m3 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 18:36   #9
sirus
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 16053
però potrei tentarci lo stesso, intanto me la cavo benino
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 18:37   #10
sirus
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 16053
Quote:
Originariamente inviato da Cr4m3
si sta meglio senza conosce gli alberi :P
purtroppo possono venire buoni
anche fino allo scorso anno pensavo che si vivesse anche senza allocazione dinamica della memoria o senza le liste e annessi e connessi ma in realtà sono comodissimi
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 18:41   #11
Cr4m3
Member
 
L'Avatar di Cr4m3
 
Iscritto dal: Mar 2003
Città: Roma
Messaggi: 203
io con le liste, ci convivo abb bene, con l'allocazione dinamica un po meno pero non litighiamo spesso, con gli alberi prorpio non c'è feeling
Cr4m3 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 18:46   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Non gestisci questo caso: "e tutte le foglie sono al piu’ su due livelli successivi, con quelle sul livello massimo tutte a sinistra"

int completo(treePtr tPtr)
{
if (alt(tPtr->lPtr) == alt(tPtr->rPtr))
return 1;
return 0;
}

Secondo questo ragionamento contorto un albero del genere è completo:
Codice:
     A
    / \
   B  C
  / \
 D  E

Ultima modifica di cionci : 13-04-2005 alle 18:49.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 18:51   #13
sirus
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 16053
in effetti è vero ma...mistero
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 18:57   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Comunque è facile: per essere completo le altezze o sono uguali o quella di sinistra è amggiore di uno di quella di destra...almeno così ho capito io...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 19:02   #15
sirus
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 16053
beh anche per me che non ho ancora fatto queste cose (solo in teoria) non sembra un problema così complesso
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 19:18   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
C'è anche un altro errore... In alt devi controllare che le altezze siano uguali...perchè ogni nodo deve avere 0 o 2 figli...
Codice:
int alt(TreePtr tPtr) {
   int ris1, ris2;
   if (!tPtr ) return 0;

   ris1 = alt(tPtr->lPtr);
   ris2 = alt(tPtr->rPtr);

   if(ris1 != ris2 || ris1 == -1 || ris2 == -1)
      return -1;

   return ris1 + 1; /*ritorno l'altezza aumentata di 1*/
}
In completo devi fare queste altre modifiche:
Codice:
int completo(treePtr tPtr)
{
   int ris1, ris2;
   if (!tPtr ) return 1; /*un albero vuoto è completo ? diciamo di sì*/

   ris1 = alt(tPtr->lPtr);
   ris2 = alt(tPtr->rPtr);
   
   if ((ris1 == (ris2 + 1) || ris1 == ris2) && ris1 != -1 && ris2 != -1)
      return 1;

  return 0;
}
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Il dodicesimo lancio del razzo spaziale ...
Blue Origin sta assemblando il secondo l...
Meta moltiplica gli investimenti in data...
Addio riflessi fastidiosi? Samsung prese...
PlayStation 5, doccia fredda da Sony: i ...
Super Meat Boy 3D: annunciata la data d'...
XT View Matrix, il mid-tower Phanteks ch...
David Sacks lascia il ruolo di 'Crypto C...
LG All Stars 2026: quando l'installatore...
Addio ad Anna's Archive? Ecco la mossa l...
Addio al Mac Pro, Apple mette fine a un ...
Panasonic a MCE 2026: la rivoluzione sil...
Netflix alza la posta: il piano Premium ...
Nimbus Innovation Awards – Cloud Edition...
Wikipedia vieta i contenuti generati dal...
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: 06:54.


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