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

question-closed Odwołanie się do węzła w drzewie binarnym

Object Storage Arubacloud
0 głosów
65 wizyt
pytanie zadane 2 maja 2019 w C i C++ przez Alucarddo Nowicjusz (210 p.)
zamknięte 2 maja 2019 przez Alucarddo

Witam, mam problem z drzewami binarnymi. wiem jak się tworzy pierwszy węzeł, ale żeby stworzyć jego "syna" trzeba jakoś podać wartość ojca. W książce którą przerabiam jest przykładowo:
wstaw (NULL, 5);

wstaw (<drzewo o wierzchołku 5> , 10)
Tylko pytanie jak odwołać się do drzewa o wierzchołku 5? jest ono zwracane przez funckje, tylko nie wiem jak mogę go użyć. Rozumiem jak to wszystko ma przebiegać, tylko nie wiem jak powinienem to zrobić. Może jak z listą, po prostu tę wartość zapisywać do jakiejś zmiennej wskaźnikowej

#include <iostream>
#include <stdio.h>
#include <string>
#include <cstdlib>
#include <ctime>


using namespace std;

struct dane_drzewa
{
    int wartosc;
    dane_drzewa *lewy;
    dane_drzewa *prawy;
};


dane_drzewa *lista = nullptr;

dane_drzewa *buduj_drzewo (dane_drzewa *drzewo, int klucz)
{
    if (drzewo == nullptr)
    {
        dane_drzewa *nowe_drzewo = new dane_drzewa;
        nowe_drzewo -> lewy = nullptr;
        nowe_drzewo -> prawy = nullptr;
        nowe_drzewo -> wartosc = klucz;
        return nowe_drzewo;


        }

if (klucz < drzewo -> wartosc)
{
    drzewo -> lewy = buduj_drzewo (drzewo -> lewy, klucz);
}

else
{
    drzewo -> prawy = buduj_drzewo (drzewo -> prawy, klucz);
}

return drzewo;
}






dane_drzewa *szukaj (dane_drzewa *drzewko, int klucz)
{

    if (drzewko == nullptr)
    {
        return nullptr;
    }

    else if (klucz == drzewko -> wartosc)
    {
        return drzewko;
    }
    else if (klucz < drzewko -> wartosc)
    {
        return szukaj( drzewko -> lewy, klucz);
    }


}







main()
{

buduj_drzewo( nullptr,10 );
buduj_drzewo( ? , 15);





}


?

komentarz zamknięcia: Doszedłem do tego . Trzeba jeszcze wstawic tzw. "korzeń" który wskazuje początek drzewa. Potem już z górki co i jak.

Podobne pytania

0 głosów
0 odpowiedzi 253 wizyt
pytanie zadane 6 stycznia 2019 w C i C++ przez Alan Kruszyński Obywatel (1,410 p.)
0 głosów
2 odpowiedzi 426 wizyt
pytanie zadane 14 sierpnia 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
+1 głos
1 odpowiedź 537 wizyt
pytanie zadane 16 czerwca 2015 w Algorytmy przez Jaskrowicz Obywatel (1,210 p.)

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...