Skocz do zawartości
MeHow

[c++] Wywazanie Drzewa

Rekomendowane odpowiedzi

Otoz, tworze program, nie ukrywam na zaliczenie na studia i mam juz go prawie calego, jednakze mily Pan zazyczyl sobie, zeby drzewo bylo wywazone. Domyslam sie, ze znacznie efektywniej, a moze i prosciej jest wywazac drzewo od razu przy dodawaniu elementow niz robic osobna funkcje w klasie void wywaz( void ). Nie umiem jednakze wymyslic zadnego sprytnego (ani niesprytnego :wink: ) algorytmu, ktory wykonywalby takie dzialanie.

 

Aktualnie moja funkcja dodajaca elementy wyglada tak:

 

//////poczatek nowy_element ////////////template< class T >bool wierzcholek< T >::nowy_element( const T &dana) {     static wierzcholek< T > *aktualny;     aktualny = this;     while(1) {          if(dana > (aktualny->dane)) {              if((aktualny->prawy) ==  NULL) {                  aktualny->dodaj_prawy();                  aktualny = aktualny->prawy;                  aktualny->wstaw( dana );                  return true;              }              else {                  aktualny = aktualny->prawy;              }          }          if(dana < (aktualny->dane)) {              if((aktualny->lewy) == NULL) {                  aktualny->dodaj_lewy();                  aktualny = aktualny->lewy;                  aktualny->wstaw( dana );                  return true;              }              else {                  aktualny = aktualny->lewy;              }          }          if(dana == (aktualny->dane)) {              return false;          }     }}////koniec nowy element

Jesli bylby ktos na tyle mily i pomogl mi w rozwiazaniu mojego problemu, bylbym wdzieczny.

 

Pozdrawiam

MeHow

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

To jest najzwyklejszy sposób wstawiania elementów do drzewa binarnego, nie będę pisał jak to sie robi bo spędziłem nad tym kawał czasu juz dobre 2 lata temu heh, ale w kazdym razie na sieci pełno jest algorytmów tego typu. Poszukaj po słowach kluczowych dzrewa AVL, ewentualnie dzrewa czerwono-czarne, takze dzrewa SPLAY. to proste algorytmy wywazania drzew binarnych, nie powinienes mieć problemu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...