• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wypisywanie elementów drzewa binarnego

VPS Starter Arubacloud
0 głosów
1,115 wizyt
pytanie zadane 17 stycznia 2018 w C i C++ przez k222 Nałogowiec (30,150 p.)
edycja 17 stycznia 2018 przez k222

Cześć, siedzę od pewnego czasu nad problemem jak wypisać elementy drzewa binarnego (w dowolnej kolejności) i w sumie rekurencja w tym przypadku dużo upraszcza, jest to zaledwie kilka linijek, ale czy ma ktoś pomysł jak osiągnąć to samo bez rekurencji?

* drzewo ma postać:

struct drzewo
{
int w;
drzewo *lewy;
drzewo *prawy;
}

więc wskaźniki są tylko na dzieci

2 odpowiedzi

+1 głos
odpowiedź 17 stycznia 2018 przez criss Mędrzec (172,590 p.)
wybrane 17 stycznia 2018 przez k222
 
Najlepsza
+2 głosów
odpowiedź 17 stycznia 2018 przez nik Obywatel (1,640 p.)
Może coś takiego, że wypisujesz lewe dziecko, prawe dziecko węzła i dodajesz węzeł do tablicy węzłów odwiedzonych. Następnie przeskakujesz z aktualnego węzła, na lewe dziecko, i wypisujesz lewą i prawą wartość dzieci. I teraz jeżeli węzeł nie ma już dzieci to wracasz do węzła rodzica (zakładam, że węzeł zna swojego rodzica) i jeżeli wszystkie dzieci węzła rodzica są już w tablicy odwiedzonych, to wracasz do kolejnego rodzica do momentu aż wszystkie dzieci korzenia drzewa będą znajdowały się w tablicy węzłów odwiedzonych. Pominąłem tutaj sprawdzanie czy węzeł jest NULL, ale coś takiego mi się nasunęło. Pewnie jest lepsze rozwiązanie, ale to tak na szybko.
komentarz 17 stycznia 2018 przez k222 Nałogowiec (30,150 p.)

Spoko w sumie, tylko nie dodałem :/ że może drzewo to coś w stylu:

struct drzewo
{
int w;
drzewo *lewy;
drzewo *prawy;
}

więc dziecko nie zna rodzica, 

1
komentarz 17 stycznia 2018 przez draghan VIP (106,230 p.)

więc dziecko nie zna rodzica, 

Wredne życie, smutny los. :<

Podobne pytania

0 głosów
2 odpowiedzi 676 wizyt
pytanie zadane 24 sierpnia 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
0 głosów
1 odpowiedź 238 wizyt

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...