AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Algorithmenproblem: Baum in Liste speichern -> Vater finden?
Thema durchsuchen
Ansicht
Themen-Optionen

Algorithmenproblem: Baum in Liste speichern -> Vater finden?

Ein Thema von JasonDX · begonnen am 18. Feb 2005 · letzter Beitrag vom 18. Feb 2005
Antwort Antwort
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#1

Re: Algorithmenproblem: Baum in Liste speichern -> Vater

  Alt 18. Feb 2005, 17:40
Ein Baum ist eine Rekursive DatenStruktur. In deinem Beispiel, jedes Element hat ein eigenes Wert und noch 3 , 2 Kinder und 1 Eltern (Nur nuch UrEltern )
Ich wurde ein Element so Deklatieren :
Zitat:
struct tnode {
int Wert ; //beispeil
int Count;
struct tnode *Vater;
struct tnode *Links;
struct tnode *Rechts;
};
Ein Element hinzufühgen:

Zitat:
struct tnode *talloc(void)
{
return (struct tnode*)malloc(sizeof(struct tnode));
}

struct tnode *addtree(struct tnode *p,int w,struct tnode *Vater_)
{
if (p==NULL)
{
p = talloc();
p->Wert = w;
p->Count = 1;
p->Links = p->Rechts = NULL;
p->Vater = Vater_;
}
else
if (w=p->Wert) p->Count++;
else
if (w<p->Wert) p->Left = addtree(p->left, w, p);
else p->Rechts = addtree(p->Rechts,w, p);

return p;
}
Ein element Finden:
Zitat:
BOOL findnode(struct tnode *gefundene,struct tnode *anfangsnode, int w)
{
if (anfangsnode = NULL)
return FALSE;
if (anfangsnode->Wert == w)
/*GEFUNDEN*/
{
gefundene = anfangsnode;
return TRUE;
}
else
if (anfangsnode->Wert < w)
return findnode(gefundene, anfangsnode->Links,w);
else return findnode(gefundene, anfangsnode->Rechts,w);
}
So kannst du einfach zuerst finden was du willst und dann liest einfach wer Vater und Kinder sind.
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz