Autor Beitrag
Xardas008
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win 7 Professional x64, Ubuntu 10.04, Windows Server 2008 R2
C#, Visual Studio 2008 Pro, Visual Studio 2010 Ultimate, Eclipse (Java)
BeitragVerfasst: Fr 30.05.08 20:48 
Hi,

für die Schule muss ich eine Ahnentafel mit einer Baumstruktur aufbauen, zeichnen und auch Elemente rauslöschen.

Ich habe von dem Zeichnen aber keinen Plan, wie ich das machen soll.
Ich mein Linien Zeichnen ist ja kein Problem. Was aber, wenn auf einmal beim rechten Zweig (von der Wurzel aus gesehen) ein linker Zweig auftaucht, der mit einem aus der linken Seite auf einmal kollidiert. Sowas muss dann ja auch abgefangen sein.

Und genau an dem Punkt benötige ich eure Hilfe. Wie mache ich das?


Moderiert von user profile iconChristian S.: Topic aus Basistechnologien verschoben am Fr 30.05.2008 um 20:54
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 01.06.08 11:46 
Eine Ahnentafel ist doch ein Binärbaum, wie soll da eine Kollision entstehen :gruebel: ? Du kennst in jeder Reihe die Anzahl der Knoten (2^n), also kannst du sie doch genau so bemessen, dass sie sich nicht überschneiden.

[edit]Wenn sich beim Löschen von Knoten aber der ganze Baum verschieben soll... ja, dann solltest du erst einmal gründlich darlegen, wie das Ergebnis aussehen soll ;) . [/edit]
Xardas008 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win 7 Professional x64, Ubuntu 10.04, Windows Server 2008 R2
C#, Visual Studio 2008 Pro, Visual Studio 2010 Ultimate, Eclipse (Java)
BeitragVerfasst: Mo 02.06.08 21:36 
Naja wie das mit dem löschen gehn soll, muss ich eh noch schaun. Wir sollen eine Ahnentafel programmieren, und da ist nix mit verschieben wie bei nem normalen Binärbaum^^. Oder willst du dass dein Sohn auf einmal dein Vater wird?

Naja der Baum selbst dürfte noch das einfachste werden. Ich hab nur keinen Plan wie man zeichnet^^.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 03.06.08 10:17 
user profile iconXardas008 hat folgendes geschrieben:
Oder willst du dass dein Sohn auf einmal dein Vater wird?
Wer hat was von Verknüpfungen ändern gesagt? Wenn aber durch Löschen ein wenig Platz frei wird, würde ich erwarten, dass die verbliebenen Knoten diesen auch ausnutzen.
Zitat:
Naja der Baum selbst dürfte noch das einfachste werden. Ich hab nur keinen Plan wie man zeichnet^^.
Dann wäre "Wie male ich ein Rechteck?" vielleicht die passendere Überschrift gewesen :P . Eine ausführliche Einleitung findest du hier. Die kurze Version:
  • Bitmap erstellen
  • ausblenden C#-Quelltext
    1:
    using (Graphics g = Graphics.FromImage(bitmap)) ...					

  • ausblenden C#-Quelltext
    1:
    pictureBox.Image = bitmap;