| Autor |
Nachricht |
Btl
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 15.11.11 20:43
Ich hab mal ne frage , ich soll eine graphik oder so programmieren .. eines avl baumes und die vater funktion hab ich schon jedoh weiß ich nicht wie die kinder funktionen gehen...
mein rechtes kind funktioniert aber das linke kind funktioniert nicht könnte mir vlt jemadn helfen ,,, ich hab mir gedacht beim linken macht man anstatt +1 -1 aber das klappt nicht bei jeder zahl ... dankee
Moderiert von Gausi: Delphi-Tags hinzugefügt
|
| |
|
|
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
|
|
Gausi
      

Beiträge: 8117
Erhaltene Danke: 250
Win XP, Win 7
D7 PE, RAD Studio 2009 Professional
|
Verfasst: Di 15.11.11 20:51
Wenn ich das richtig sehe, willst du die hochdynamische AVL-Baumstruktur über ein Array abbilden. Das ist aber komplett unsinnig. Da musst du schon mit Pointern bzw. Objekten u.ä. arbeiten.
Ein Objekt TAVLKnoten enthält dann z.B. je einen Zeiger auf den Vater und die beiden Söhne.
_________________ Oel ngati kameie.
|
| |
|
|
Btl 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 15.11.11 20:58
ich hab keine ahnung aber sowas wie pointer haben wir nicht gemacht und mein rechtes kind funkttioniert ja .)
Moderiert von Narses: Beiträge zusammengefasst
ja wir haben nur dieses ab bekommen.
Einloggen, um Attachments anzusehen!
|
| |
|
|
Gausi
      

Beiträge: 8117
Erhaltene Danke: 250
Win XP, Win 7
D7 PE, RAD Studio 2009 Professional
|
Verfasst: Di 15.11.11 20:59
Ihr kennt keine Pointer, aber sollt einen AVL-Baum implementieren?
Wie seht denn z.B. dein Code zum Einfügen eines neuen Elementes und der nachfolgenden Ausbalancierung des Baumes aus?
_________________ Oel ngati kameie.
|
| |
|
|
Btl 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 15.11.11 21:00
bis jetzt sieht es so aus und funktioniert auch
Moderiert von Gausi: Delphi-Tags hinzugefügt
|
| |
|
|
Gausi
      

Beiträge: 8117
Erhaltene Danke: 250
Win XP, Win 7
D7 PE, RAD Studio 2009 Professional
|
Verfasst: Di 15.11.11 21:06
joah...
Da würde ich sagen, dass du zusätzlich zu dem Vater-Array auch noch ein Linker-Sohn-Array und ein Rechter-Sohn-Array brauchst und das dann zur Abfrage verwendest. Das soll dann wohl genauso starr initialisiert werden wie das Vater-Array. 
_________________ Oel ngati kameie.
|
| |
|
|
Btl 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 15.11.11 21:07
ja so soll es glaub ich sein aber wie bekomm ich einen linken hin ?
|
| |
|
|
Gausi
      

Beiträge: 8117
Erhaltene Danke: 250
Win XP, Win 7
D7 PE, RAD Studio 2009 Professional
|
Verfasst: Di 15.11.11 21:16
Bau dir zwei weitere Arrays, schau dir das Bild in der Aufgabe an und fülle es entsprechend. Dein "rechtes Kind" dürfte ja auch noch gar nicht funktionieren.
Das rechte-Kind-Array sollte so aussehn
Um das rechte Kind von Knoten 6 abzufragen guckst du einfach bei rk[6-1]. Da steht dann eine 8 - fertig. Mit dem linken genauso.
_________________ Oel ngati kameie.
|
| |
|
|
Btl 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 15.11.11 21:21
doch das rechte funktioniert  das linke eig auch aber eben nicht bei allen zahlen ..
|
| |
|
|
Gausi
      

Beiträge: 8117
Erhaltene Danke: 250
Win XP, Win 7
D7 PE, RAD Studio 2009 Professional
|
Verfasst: Di 15.11.11 21:27
Nein, deine rechte-Kind-Funktion ist falsch. Dass sie in dem Beispiel funktioniert, liegt an dem Beispiel - generell funktioniert das nicht!
Du findest damit ein Kind des Knotens, hast aber keine Information darüber, ob es linkes oder rechtes Kind ist.
_________________ Oel ngati kameie.
|
| |
|
|
Btl 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 15.11.11 21:29
hmm okee dankeschön für die hilfe aber hat mir nicht viel geholfen 
|
| |
|
|
Delphi-Laie
       
Beiträge: 501
Erhaltene Danke: 29
Delphi 2-4
|
Verfasst: Mi 16.11.11 01:11
Zuletzt bearbeitet von Delphi-Laie am Do 17.11.11 20:20, insgesamt 1-mal bearbeitet
|
| |
|
|
Gausi
      

Beiträge: 8117
Erhaltene Danke: 250
Win XP, Win 7
D7 PE, RAD Studio 2009 Professional
|
Verfasst: Mi 16.11.11 11:17
Wobei das Bild in der Aufgabe ja auch kein AVL-Baum ist. Wenn (wie eigentlich zur Veranschauung des Prinzips üblich) die Schlüssel und die Knotennummern übereinstimmen, dann ist das noch nicht einmal ein Suchbaum.
Das Ding in der Aufgabe ist einfach ein Baum, mit dem man aber nichts weiter anfangen kann - weder als Suchstruktur, noch als eine Art Priority-Queue.
_________________ Oel ngati kameie.
|
| |
|
|
Fiete
      
Beiträge: 230
Erhaltene Danke: 17
WinXP und Win98SE
Delphi 6 pro, Delphi 2006 und Turbo Pascal 7
|
Verfasst: Do 17.11.11 19:24
Moin Btl,
Gausi hat schon recht, ohne Pointer geht da nichts.
Hier aus meinem Archiv eine Möglichkeit in Turbo-Pascal 4.0 1990 mit BS DOS
Gruß
Fiete
_________________ Fietes Gesetz: use your brain (THINK)
|
| |
|
|
Fiete
      
Beiträge: 230
Erhaltene Danke: 17
WinXP und Win98SE
Delphi 6 pro, Delphi 2006 und Turbo Pascal 7
|
Verfasst: Do 17.11.11 19:25
Moin Btl,
Gausi hat schon recht, ohne Pointer geht da nichts.
Hier aus meinem Archiv eine Möglichkeit in Turbo-Pascal 4.0 1990 mit BS DOS
Gruß
Fiete
_________________ Fietes Gesetz: use your brain (THINK)
|
| |
|
|
bummi
      
Beiträge: 979
Erhaltene Danke: 124
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Do 17.11.11 19:40
@Fiete
DRY 
_________________ Das Problem liegt üblicherweise zwischen den Ohren
DRY DRY KISS
|
| |
|
|
|