Thema: Binären Baum

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Binären Baum

  Alt 2. Jul 2007, 07:25
marabu hat schon Recht: Natürlich kann man das Array nicht einfach so sortieren, denn der Index enthält ja die Information des Pfades für den Buchstaben. Sein Vorschlag ist hinsichtlich der Laufzeit optimal, aber es geht auch so (die Funktion fügt ein Zeichen anhand des Pfades in einen Baum ein):

Delphi-Quellcode:
Procedure BildeBaum (aChar : Char; aPfad : String; aBaum : TBinaerBaum);
Begin
  If aPfad='Then
     aBaum.Zeichen := aChar
  Else If aPfad[1]='.Then Begin
    If not Assigned (aBaum.Links) Then aBaum.Links := TBinaerbaum.Create;
    BildeBaum (aChar, Copy (aPfad,2, maxint), aBaum.Links)
  End
  Else If aPfad[1]='-Then Begin
    If not Assigned (aBaum.Rechts) Then aBaum.Rechts := TBinaerbaum.Create;
    BildeBaum (aChar, Copy (aPfad,2, maxint), aBaum.Rechts)
  End
  Else Raise Exception.Create('Ungültige Pfadangabe');
End;
Ist es eine Hausaufgabe? Dann musst Du das auch verstehen!

@Relicted: Nee, nur weil Buchstaben in einem binären Baum sind, muss das noch kein Huffman sein (kann aber).
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat