Binäre Bäume...Verständnissproblem........



  • Hallo zusammen,

    bin grad am lernen für meine Prüfungen und da bei den Binären Bäumen auf ein Verständnissproblem gestoßen.

    Wenn ich jetzt mehrere Zahlen eingebe:

    z.B. 10, 6, 5, 8, 20, 18, 19, 15.

    Dann müsste der Baum, laut code so aussehen:

    10
    6
    5
    8
    20
    18
    19
    15

    Aber er müsste laut Buch so aussehen:

    10
    6 20
    5 8 18
    15 19

    Hab ich was falsch gemacht oder sieht der Baum tatsächlich so aus und warum?

    Bitte um Hilfe! Vielen dank im voraus!!!!

    Ps: Kann mir jemand eine Funktion zur Ausgabe eines Binären Baum auf dem Bildschirm schicken

    #include <stdio.h>
    #include <stdlib.h>

    struct knoten
    {
    int wert;
    struct knoten *links;
    struct knoten *rechts;
    };
    typedef struct knoten KNOTEN;
    int zahl;

    KNOTEN *eingeben(KNOTEN *zeiger)
    {
    if(zeiger==NULL)
    {
    zeiger = (KNOTEN*)malloc(sizeof(KNOTEN));
    zeiger->wert = zahl;
    zeiger->links = NULL;
    zeiger->rechts = NULL;
    }
    else if(zeiger->wert >= zahl)
    {
    (zeiger->links) = eingeben(zeiger->links);
    }
    else if(zeiger->wert <= zahl)
    {
    zeiger->rechts = eingeben(zeiger->rechts);
    }
    return(zeiger);
    }

    void zeige_baum(KNOTEN *zeiger)
    {
    if (zeiger != NULL)
    {

    zeige_baum(zeiger->links);
    printf("\n %d ->",zeiger->wert);
    zeige_baum(zeiger->rechts);
    }
    }

    void main(void)
    {
    KNOTEN *wurzel = NULL;

    do
    {
    printf("Zahl eingeben: ");
    scanf("%i", &zahl);
    wurzel = eingeben(wurzel);
    }while(zahl !=0);

    zeige_baum(wurzel);
    }

    Danke nochmals!!!!



  • die Bäume sehen so aus, lässt sich ohne punlte nicht darstellen:

    .....10
    ....6
    ...5
    .....7
    ......9

    ........

    der andere

    ......................10
    ....................5....20
    ...................3...18..19
    ..................2



  • natuerlich
                           laesst
                sich                          sowas
                            gescheit 
                 darstellen
    
    natuerlich
                           laesst
                sich                          sowas
                            gescheit 
                 darstellen
    

Anmelden zum Antworten