Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [C++] Puntatore nodo parent in albero Red-Black
Forum - C/C++ - [C++] Puntatore nodo parent in albero Red-Black

Avatar
flavio89 (Normal User)
Rookie


Messaggi: 26
Iscritto: 07/09/2011

Segnala al moderatore
Postato alle 12:32
Sabato, 28/01/2012
Ragazzi salve.
Sto implementando un albero binario Red-Black, e avrei una difficoltà legata a come trovare il puntatore al padre di ogni nodo.

Questa è la classe albero.
ELENCO è una typedef di list<string>.
Codice sorgente - presumibilmente C/C++

  1. class RedBlack : public word{
  2.      private:
  3.           color colore;
  4.           RedBlack* left, *right;
  5.           RedBlack* parent;
  6.  
  7.      public:
  8.           RedBlack* build () ;                                             // inizializza un albero vuoto
  9.           RedBlack* set_root (ELENCO);                      // inserisce il primo elemento
  10.           color get_col () {return colore;};
  11.           RedBlack* insert (RedBlack*&, string);
  12.           void write (RedBlack*,int);
  13. };



Io avevo pensato di caricare i nodi in uno stack mediante una lista ogni volta che scorrevo l' albero.
E' la soluzione migliore oppure qualcuno ha un' idea migliore?

Vi ringrazio


C, con te litigo spesso, ma alla fin fine ti voglio bene
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 12:06
Domenica, 29/01/2012
Ma non è parent il padre del nodo?


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
flavio89 (Normal User)
Rookie


Messaggi: 26
Iscritto: 07/09/2011

Segnala al moderatore
Postato alle 12:27
Domenica, 29/01/2012
certo.
Ma la mia domanda era: "come faccio a far puntare il puntatore *parent al padre del nodo?"


C, con te litigo spesso, ma alla fin fine ti voglio bene
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:54
Martedì, 31/01/2012
Nella fase di inserimento devi assegnare un valore a quel campo, così come fai con left e right.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote