![]() |
Binärbäume
Hallo zusammen,
und zwar suche ich allgemeine Informationen zu Binärbäumen! Haben dies im Informatikunterricht durchgenommen und schreiben nun eine Klausur darüber! Leider war ich länger Zeit krank, habe mir aber von anderen sagen lassen, dass wir stets nur allgemeines und nichts in Delphi oder am PC gemacht haben. Es wäre wirklich sehr hilfreich für mich, wenn hier jemand interessante Links zum Thema posten könnte! Die Suche und google habe ich schon benutzt, finde aber irgendwie nur Müll ^^ also schonmal danke im voraus Trouble_Maker |
Re: Binärbäume
Zitat:
![]() Sogar Wikipedia hat einen passenden Artikel. |
Re: Binärbäume
Ich würde es auch mal bei Wikipedia versuchen.
Aber ansonsten gibt es außer der Implementation nichts wirklich wichtiges. Ist halt eine Art Liste, bloß mit 2 nachfolgenen Kind-Knoten, einen linken und einen rechten. Der Baum wird linksseitig zu erst ausgewerten, danach rechts. Sonst gibt es eigentlich nicht viel zu wissen :stupid: Zur Implementation wirst du sicherlich was mit Google finden |
Re: Binärbäume
Zitat:
|
Re: Binärbäume
Hi, vielen Dank erstmal für die Antworten!
Kann mir vielleicht jemand erklären, was der Unterschied zwischen einem vollem und einem vollständigem Baum ist?!? Danke Trouble_Maker EDIT: Hmm... hab mal bei Wikipedia folgendes Zitat mir angeschaut:
Code:
Aber ein Baum, dessen Knoten immer 2 Kinder hat (also voll) und ein Baum, dessen Knoten die gleiche Tiefe besitzen ist doch das gleiche ?!?!?
Man bezeichnet ihn als voll, wenn jeder Knoten entweder Blatt ist (also kein Kind besitzt), oder aber zwei (also sowohl ein linkes wie ein rechtes) Kinder besitzt. Man bezeichnet ihn als vollständig, wenn alle Blätter die gleiche Tiefe besitzen.
ODER NICHT? EDIT2: Hab da noch ne Frage ^^
Code:
Aber hat ein Knoten bei einem Binärbaum nicht genau 2 Kinder und nicht höchstens 2 ?!? Weil höchstens heißt doch 0,1 UND 2 !?
Ein Binärbaum ist in der Graphentheorie ein gewurzelter Baum, genauer ein Out-Tree, bei dem jeder Knoten höchstens zwei Kinder besitzt.
Und ein Binärbaum, kann doch nicht nur 1 Kind haben (also ein Knoten davon!) Bin am verzweifeln ... :-| |
Re: Binärbäume
Ein Baum der Ordnung n wird voll genannt, wenn er auf Ebene h eine Knotenzahl (n hoch h) besitzt.
Mit "vollständiger Baum" meinst du vielleicht "vollständig ausgeglicher Baum"? Vollständig ausgeglichene Bäume zeichnen sich dadurch aus, dass der Abstand der Ebenen ihrer Blätter höchstens 1 ist. Wenn du mit diesen Definitionen Schwierigkeiten hast, dann hilft dir vielleicht die Betrachtung von Bildern. Dass Google nur Müll liefert kann ich nicht glauben. Viel Erfolg bei der Klausur! |
Re: Binärbäume
Zitat:
|
Re: Binärbäume
Zitat:
Sicherlich kann man es machen wie man will, aber eigentlich ist es standard den linksseitig zuerst auszuwerten. So kenne ich das zumindest... |
Re: Binärbäume
Zitat:
also vollständiger Baum ?!?
Delphi-Quellcode:
1 2 3 4 5 6 7 voller Baum ?!?
Delphi-Quellcode:
hm die 1er sind verschoben, ka wieso, sollen aber in der mitte sein zw. 2 und 3! (denke das ist klar!)1 2 3 4 5 Weil hier beim vollen beim die 6 und 7 als kinder der 3 fehlen ?!? Hoffe das ist so korrekt! ciao Trouble_Maker |
Re: Binärbäume
OK - bleiben wir beim Binärbaum. Dein erstes Beispiel ist ein voller Baum, weil alle Blattknoten auf der letzten Ebene sind und kein Blattknoten auf dieser Ebene fehlt. Es ist Ebene 2 und du hast 2**2 = 4 Blattknoten.
Dein zweites Beispiel ist ein ausgeglichener Baum, weil sich alle Blattknoten entweder auf Ebene 1 oder 2 befinden. Vergleiche das mal mit den Definitionen die ich dir gegeben habe. |
Re: Binärbäume
Zitat:
Die 3 häufigsten Verfahren: Pre-Order, Post-Order, In-Order. Ein Baum ist definitionsgemäß auch DANN noch binär, wenn nicht jeder Knoten genau 2 Kinder hat. 0 Kinder MÜSSEN schon mal möglich sein, sonst wäre er unendlich ;). Und die Ordnung des Baumes bestimmt sich nach der höchsten vorkommenden Kindanzahl. Alles darunter ist genau so zulässig. |
Re: Binärbäume
Zitat:
Hoffe mir kann noch ganz schnell jemand helfen! Schreibe nachher die Klausur! UNd noch eine Frage: Ist Root also die Wurzel auch ein Knoten oder nicht?! Eigentlich ja oder? Aber dann kann man doch nicht sagen, dass jeder Knoten einen Vater hat oder!?? DANKE in der hoffnung, dass noch jemand was in den nächsten 20 mins schreibt :-D ciao Trouble_Maker |
Re: Binärbäume
Zitat:
Zitat:
|
Re: Binärbäume
Zitat:
Also ist die Aussage "Ein Binärbaum hat immer den Grad 2" Falsch und "Ein Binärbaum hat höchstens den Grad 2" Richtig ?!?!? Zitat:
bitte schreibt noch schnell was ^^ DANKE AUF JEDEN FALL @ Binärbaum! Hast deinen namen verdient cu |
Re: Binärbäume
Auch wenn es jetzt zu spät sein dürfte...:
Zitat:
=> Ein Binärbaum muss mindestens einen Knoten besitzen der 2 Kinder hat, um binär genannt werden zu können. Etwas verwirrend dabei ist, dass man ja durchaus eine Knotenklasse für binäre Bäume haben kann, aber auf Grund der Umstände nur eine Liste zu Stande kommt. Somit hat man dann einen zur Liste degenerierten Binärbaum. Natürlich, und das steht einem frei, kann man einen strikten Binärbaum fordern, bei dem durch die Programmlogik gewährleistet wird, dass jeder Knoten genau 2 oder 0 Kinder hat. Das kann je nach Problemstellung evtl. auch mal sinnvoll sein, aber so strikt ist die eigentliche Definition nicht. Zitat:
Es macht zudem Sinn die Wurzel aus einer ganz normalen Knotenklasse zu generieren, da es z.B. bei AVL-Bäumen durch Rotationen vorkommt, dass eine Wurzel auf einmal ein Knoten wird un umgekehrt. Noch lustiger wird's ja bei B-Bäumen :) (ekelhafte Dinger die...). Gruss, Fabian |
Re: Binärbäume
Hi,
okay... vielen Dank an alle die hier gepostet haben! Letzendlich war die ganze Aufregung umsonst, weil wir doch nicht geschrieben haben :-D - Naja zumindest bin ich jetzt schlauer - und das ist ja die hauptsache :-) danke ciao Trouble_Maker |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 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