Binärer Baum - sortierte Ausgabe



  • Hallo!

    Ich habe ein kleines Problem.

    Ich habe eine Struktur die folgendermaßen ausschaut:

    struct tnode {
      char *string;
      int count;
      struct tnode *left;
      struct tnode *right;
    };
    

    Ich habe einen Binären Baum deren Elemente alphabetisch nach string sortiert sind (also links ist immer etwas kleineres und rechts immer etwas größeres), es gibt keine 2 Elemente mit den gleichen strings. Meine Aufgabe besteht nun darin, alle Elemente absteigend nach count sortiert auszugeben.
    Ich weiß leider nicht, wie ich das anstellen soll. Vielleicht brauche ich einen Sortieralgorithmus für so einen Baum, falls es soetwas gibt. Ich könnte natürlich auch alles in einen neuen Baum (oder eine normale Liste) geben, doch das hat mir mein Programmierprofessor verboten. Gibt es noch andere Möglichkeiten ohne, dass der Wert von count verändert wird?

    Danke im Voraus!



  • HeAdSh0t schrieb:

    Ich habe einen Binären Baum deren Elemente alphabetisch nach string sortiert sind (also links ist immer etwas kleineres und rechts immer etwas größeres), es gibt keine 2 Elemente mit den gleichen strings. Meine Aufgabe besteht nun darin, alle Elemente absteigend nach count sortiert auszugeben.
    Ich weiß leider nicht, wie ich das anstellen soll. Vielleicht brauche ich einen Sortieralgorithmus für so einen Baum, falls es soetwas gibt. Ich könnte natürlich auch alles in einen neuen Baum (oder eine normale Liste) geben, doch das hat mir mein Programmierprofessor verboten. Gibt es noch andere Möglichkeiten ohne, dass der Wert von count verändert wird?

    Danke im Voraus!

    Da dein Baum nach string sortiert ist und nicht nach count, wirst du die Elemente irgendwie sortieren müssen, es sei denn es gibt einen Zusammenhang zwischen count und string.

    Was hat denn dein Professor genau verboten? Ich würde Zeiger auf alle Knoten in ein Array packen und dieses nach count sortieren.


Anmelden zum Antworten