Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-03-2011, 18:43   #1
PickeRoll
Member
 
Iscritto dal: Aug 2010
Messaggi: 150
[C++] Costruire un albero non binario.

Ciao a tutti, avrei bisogno di un aiutino.

Devo creare un albero NON binario, usando il c++.
L'esercizio che avevo da fare precedentemente chiedeva di implementare invece un albero binario, e lì allora ho trovato molta documentazione sul web, mentre con questa opzione si trova veramente poco.

L'esercizio richiedere questo:


• Creazione di un albero vuoto.
• Controllo per stabilire se un albero `e vuoto.
• “Affiliazione”: inserimento di un nuovo nodo nell’albero, indicando, come parametri dell’operazione,
la stringa che identifica il padre e la stringa che rappresenta il nuovo figlio. Se il padre non appartiene all’albero, la funzione deve restituire false e il nuovo nodo non deve essere aggiunto
all’albero.
• Visita dell’albero, con una strategia di visita a scelta tra quelle conosciute implementata in
maniera iterativa e non ricorsiva. La visita deve avere l’obbiettivo di visualizzare l’intero
contenuto dell’albero.

http://img714.imageshack.us/img714/2073/albero.png

I punti 1,2,4 non mi sono problematici, mentre con il tre ho qualche problema.

Avete qualche consiglio da darmi ?
PickeRoll è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2011, 19:08   #2
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12939
Credo tu possa risolvere mettendo in ogni nodo una lista di puntatori agli altri nodi.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2011, 19:30   #3
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
il punto 3 è una visita in cui arrivato al nodo ricercato aggiungi il nodo e termini l'iterazione.. quindi è molto simile al punto 4, devi solo fermarti al nodo che cerchi, aggiungere il nuovo e ritornare true (ovviamente se la visita termina e hai visitato tutti i nodi senza aggiungere niente restituisci false)
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2011, 22:37   #4
PickeRoll
Member
 
Iscritto dal: Aug 2010
Messaggi: 150
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Credo tu possa risolvere mettendo in ogni nodo una lista di puntatori agli altri nodi.
Innazitutto grazie per la risposta.
Specifico subito che non sono un drago con la programmazione, ho iniziato da poco ed i miei prof universitari hanno deciso di buttarmi nel mare, senza darmi regole né niente, quindi sono autodidatta al 100%.

Con i puntatori non vado molto d'accordo.

L'esercizio precedente ho dichiarato una tab.h così

class Albero
{
struct Cell
{
string info;
Cell* padre;
Cell* sinistro;
Cell* destro;
};
Cell* radice;

public :

Albero();
~Albero();

void is_empty ();
bool insert ();
void print ();
};

Ogni volta che aggiungevo dei figli con il cin, aggiornavo la situazione con i puntatori, tenevo sempre un puntatore al primo elemento per stampare totalmente la lista... Quindi ad occhio terrei solo quest'ultimo, i puntatori destro,sinistro e padre li elimino totalmente.

Pensavo di creare un array (o una lista) come suggerito da te, di puntatori e pian piano prenderli da lì... Però mi sa che mi mancano proprio le basi per poter fare una cosa del genere, avete qualche link valido dove vi è scritto del codice commentato per fare ciò ?
PickeRoll è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Al centro della Via Lattea ci potrebbe e...
Elon Musk ora guarda alla Luna: SpaceX p...
La Cina ha lanciato nuovamente lo spazio...
Blue Origin potrebbe realizzare il lande...
Artemis II: il prossimo Wet Dress Rehear...
Il nuovo HONOR 600 sta arrivando e avr&a...
La crisi delle memorie non coinvolger&ag...
Windows domina su Steam, ma molti utenti...
Per non incorrere in nuovi aumenti delle...
Cubi Z AI 8M visto da vicino, un mini-PC...
Datacenter nello Spazio, affascinante ma...
Social e minori, Butti apre al dibattito...
Tutte le offerte Amazon del weekend, sol...
Amazon spinge sull'usato garantito: 10% ...
TikTok rischia una maxi-multa in Europa:...
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: 03:19.


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