Diskussion:Rot-Schwarz-Baum

message: Nachdem ich den deutschen Artikel in den letzten Tagen mit Hilfe der Informationen auf der englischen Wikipedia ordentlich ausgebaut habe bin ich nun mit meinem Wissen was man an dem Artikel noch verbessern könnte am Ende, weswegen ich euch mal fragen wollte was euch an dem Artikel noch fehlt. Ich würde gerne noch eine Sektion über die Verwendung von Rot-Schwarz Bäumen einbauen, aber habe nichts gefunden wo sie wirklich verwendet werden... Ansonsten habe ich versucht trotz der recht komplexen Materie die gute alte Oma nicht gleich am Anfang zu verschrecken. Also zu gut deutsch: Was kann man an dem Artikel noch verbessern damit er es vielleicht mal in die lesenswerten schafft? Regnaron 13:50, 13. Okt 2005 (CEST)
replies: text: Hallo Regnaron! Klasse Arbeit! Ein paar Kleinigkeiten: Generell sollte in der WP zur Darstellung von Algorithmen lieber Pseudocode verwendet werden, weil das (für Laien) leichter lesbar ist. Allerdings wäre hier eine Änderung vielleicht etwas aufwändig. Vielleicht kannst du wenigstens den Code und die Kommentare etwas eindeutschen. Zweitens: warum heißen die Blattknoten alle "NIL"? ;-) Drittens: Die Gliederung könnte man etwas verschönern. Beim Höhenbeweis benutzt du immer Fettdruck als Abschnittsüberschriften, warum nimmst du nicht normale Unterüberschriften? --Kurt seebauer 14:49, 13. Okt 2005 (CEST)
replies: text:  Hi! Danke erstmal fürs Feedback! Zum Code: Den habe ich 1 zu 1 aus der Englischen Wikipedia übernommen, und da war es halt C-Code. Aber ok, die Kommentare kann ich gerne noch eindeutschen. Die Blattknoten heißen alle NIL, weil sie in der Literatur meistens so genannt werden. (müsste irgendwo ganz oben stehen dass diese Knoten keine Daten tragen und eigentlich nur "terminalknoten" sind. (aber mal schauen ob ich das noch ein bisschen deutlicher zur Geltung bringen kann) Zur Gliederung: Anfangs hatte ich beim Höhenbeweis Unterüberschriften statt der Fettschrift, fand das aber nicht so toll weil dadurch das Kapitel Höhenbewis in der Übersicht extrem groß erschien. (Hatte dann halt auch nochmal drei Unterabschnitte, wie der Teil über die Operationen an sich) Aber wenn die anderen meinen dass eine Gliederung hier besser wäre werde ich sicherlich nicht an der Fettschrift festhalten. (wollte halt nur erreichen dass es nicht so aussieht als ob der Höhenbeweis einen großteil des Artikels ausmacht) Regnaron 15:02, 13. Okt 2005 (CEST)

text: Jup, wollte ihn eh demnächst da einstellen. Habe die letzten Tage nochmal versucht die Wünsche von Shmia zu erfüllen, und nochmal nach Einsatzgebieten von Rot-Schwarz-Bäumen gegooglet, aber leider habe ich da nichts wirklich verwertbares gefunden. Werde also hiermit das Review offiziell abschließen und ihn mal Kandidieren lassen ;-) Regnaron 22:01, 31. Okt 2005 (CET)
thread_title:  Abgeschlossenes Review vom 13. Okt 2005 

message: Ein Rot-Schwarz-Baum ist in der Informatik eine vom binären Suchbaum abgeleitete Datenstruktur, welche sehr schnellen Zugriff auf die in ihr gespeicherten Werte garantiert. Rot-Schwarz Bäume wurden zuerst 1972 von Rudolf Bayer beschrieben, welcher sie symmetric binary B-trees nannte.
*  Da ich der Hauptautor bin enthalte ich mich der Stimme, aber ich denke nachdem der Artikel nun einige Wochen im Review war sollten inzwischen die meisten Ecken und Kanten abgeschliffen worden sein, sodass der Artikel durchaus Lesenswert ist. Weitere Anregungen sind natürlich ebenfalls immer Willkommen. Regnaron 23:01, 31. Okt 2005 (CET)
replies: text: Lieber Anwendungsentwickler! Da wäre es natürlich extrem hilfreich, wenn Du eine Andeutung machen würdest, was für Dich unverständlich ist. --Nomen4Omen (Diskussion) 14:15, 22. Aug. 2017 (CEST)
thread_title:  Abgeschlossene Lesenswert-Diskussion vom 31. Okt 2005 

message: Sehr schöne Seite. Ich habe nur noch einen kleinen Verbesserungsvorschlag für die Grafiken: Die grauen Knoten sollten mehr in Richtung Schwarz geändert werden und/oder die roten Knoten müssten heller sein, denn bei den aktuellen Grafiken erscheinen in der Graustufendarstellung (z.B. beim Drucken) verwirrenderweise die roten Knoten dunkler als die Schwarzen. --Clemo 18:30, 8. Dez 2005 (CET)
replies: text: Hi! Habe mir mal erlaubt eine neue Überschrift für deinen Beitrag anzulegen, da er eigentlich ja nicht unter die Lesenswert Diskussion fällt. So, nun aber zum eigentlichen Thema: Danke erst einmal für dein Feedback, aber leider kann ich selbst an den Bildern nicht viel ändern. Ich habe sie nur aus der englischen Wikipedia in die Commons verschoben und von dort aus eingebunden. Bin also leider nicht der Autor der Bilder, und habe somit auch keine Orginale von den Bildern, sodass ich mal schnell die Farbe ändern kann... Und dafür, selbst die Bäume neuzumalen, sodass sie schön aussehen, dafür gehen meine Kentnisse mit graphviz leider noch nicht weit genug :-( Aber ich kann gerne mal den Autor fragen ob der die Orginaldateien hat, damit ich da die Farbe dann ein bisschen anpassen könnte. Regnaron 19:16, 8. Dez 2005 (CET)
thread_title:  Verbesserungsvorschlag für die Grafiken 

message: Meine Anmerkung zu dem Artikel ist, daß in der O-Notation unerheblich ist, welcher Logarithmus angegeben ist, da die angegebene Funktion ja mit einem beliebigen konstanten Faktor multipliziert werden kann. Üblicherweise wird deshalb nur O(log n) geschrieben.
: Stimmt, es ist in der Tat unerheblich welchen Logarithmus man verwendet, aber da es sich erstens um einen Binärbaum handelt, und zweitens in der Informatik eh meistens ein zweierlogarithmus genommen wird, denke ich nicht, dass die nennung der Basis hier stört. Regnaron 14:33, 4. Mär 2006 (CET)
replies: text: Ich habe mich gerade das Selbe gefragt und würde die Basis entfernen. Sie anzugeben ist unüblich und irritiert schon, gerade weil man sich fragt warum sie denn hier angegeben ist. -- octo 08:09, 18. Jun. 2009 (CEST)

text: Wurde das bereits geändert? Ich habe den Artikel gerade gelesen und kann das nicht finden. --Martin Thoma 17:17, 10. Jun. 2012 (CEST)
thread_title:  O-Notation 

message: Beim Einfuegen im Fall 1 wird folgender Code angegeben:
void insert_case1(node n) {
    if (n->parent == NULL)
        n->color = BLACK;
    else
        insert_case2(n);
}
eigentlich ist der else-Zweig doch vollkommen ueberfluessig?
: Wieso? Wenn du in einen nichtleeren Baum etwas einfügen willst, dann hat der Eingefügte Knoten einen Vater. Dieser Vater kann wie das Kind rot sein, und somit solltest du den Fehler beheben. Und genau dies geschieht durch das "weiterdelegieren". Oder verstehe ich dich gerade vollkommen falsch? Regnaron 13:12, 19. Jun 2006 (CEST)
thread_title:  C-Code 

message: Hi, hab da mal ne Frage. Angenommen ich habe einen balancierten Red-Black Tree der nur aus schwarzen Knoten besteht. Der muesste ja OK sein. Wenn ich jetzt einen der unteren Knoten lösche, wieviele Rotationen benötige ich, um die RB-Eigenschaft (gleichen Anzahl schwarzer Knoten für jeden Pfad) wiederherzustellen ? Reicht da wirklich eine konstante Anzahl von Rotationen ? Wolfgang-gerlach 18:55, 16. Nov. 2006 (CET)
thread_title:  Frage zu Anzahl der Rotationen (Kann mir keiner weiterhelfen ????) 

message: Da im C-Code vom Kind auf den Vater geschlossen werden kann, ist die Darstellung der Bilder falsch. Hier müssten dann jeweils noch Zeiger von den Kindern zurück auf die Eltern führen. --77.179.216.106 12:02, 04. März 2007 (CEST)
thread_title:  Grafische Darstellungen des Baumes sind fehlerhaft 

message: Es sollte zumindest erwähnt werden, dass hier die bottom-up-Variante beim Einfügen etc. verwendet wird, in vielen Lehrbüchern wird der top-down-Algorithmus beschrieben - mich hat es sehr verwirrt da die hier vorgestellte Variante als DIE Variante rüberkommt, so als gäbe es die andere (laut meinem Buch sogar häufigere) Vorgehensweise gar nicht.
-- 82.150.196.185 17:56, 13. Jun. 2007 (CEST)
thread_title:  Artikel beschreibt nur bottom-up-Variante 

message: Hallo,
in Fall 3 der Einfügeoperation ist als Voraussetzung angegeben "Sowohl der Onkel(U) als auch der Vater(P) des neuen Knotens sind rot."
Im C-Code darunter wird aber lediglich auf die Existenz eines roten Onkels(U) geprüft, d.h. wird auch ein Farbtausch bei P, G und U gemacht, wenn der Vater(P) schwarz ist. 
Regel 4 "Ist ein Knoten rot, so sind beide Kinder schwarz" kann nicht umgedreht werden.
: Hallo auch.
: Wenn ich das richtig verstanden habe, kann in insert_case3  der Vater nicht schwarz sein, da die Funktion sonst nicht aufgerufen werden würde (siehe insert_case2). -- Haeld 11:21, 2. Aug. 2008 (CEST)
thread_title:  C-Code für Einfügen im  Fall 3 

message: Mich würde noch interessieren, was die replace-Funktion genau macht. Ersetzt sie nur n durch das Kind oder tauscht sie beide miteinander?
: Du meinst vermutlich replace_node, oder? Das sollte wohl das hier machen:
Falls der zu löschende Knoten zwei Kinder hat (keine NIL-Knoten), so sucht man entweder den größten Wert im linken Teilbaum oder den kleinsten Wert im rechten Teilbaum des zu löschenden Knotens, kopiert diesen Wert in den eigentlich zu löschenden Knoten, und entfernt den gefundenen Knoten aus dem Rot-Schwarz-Baum.  
: --Martin Thoma 09:49, 15. Jun. 2012 (CEST)
thread_title:  replace-Funktion 

message: Durch seine langen, verschachtelten Kettensätze merkt man dem Artikel seine englische Herkunft leider deutlich an. Ein Beispiel:
"Um zu verstehen, warum diese fünf Eigenschaften eine obere Schranke für die Laufzeit garantieren, reicht es sich zu verdeutlichen, dass aufgrund der vierten Eigenschaft auf keinem Pfad zwei rote Knoten aufeinander folgen dürfen, weswegen sich auf dem längsten Pfad immer ein roter Knoten mit einem schwarzen Knoten abwechselt, während auf dem kürzesten Pfad nur schwarze Knoten vorhanden sind."
Die deutsche Sprache mag im Vergleich zur englischen nicht so kompakt sein, bietet aber andere Möglichkeiten zur Darstellung komplexer Sachverhalte. Teilt jemand mit mir diese Auffassung? Ich würde mir bei Gelegenheit einmal Gedanken machen, wie sich solche monströsen Sätze verständlicher schreiben lassen. Für Ratschläge wäre ich dankbar.
-- Strathausen 13:59, 1. Jun. 2010 (CEST)
replies: text: Ja, ich teile deine Beobachtung. Grüße --Uncopy 15:16, 25. Okt. 2010 (CEST)
thread_title:  Sprachliche Qualität: Schachtelsätze 

message: Im Abschnitt Löschen scheint mir der Kommentar in der Beispielimplementierung
/* Vorbedingung: n hat mindestens ein echtes Kind (keine zwei Nullzeiger) */
unlogisch und nicht zum Text zu passen. Sollte die Bedingung nicht sein, dass n höchstens ein echtes Kind hat? Diese Annahme wird durch den erklärenden Text und die weitgehend identische Codestelle in der englischen Wikipedia gestützt. Oder habe ich einen kleinen, aber wichtigen, Unterschied übersehen? (nicht signierter Beitrag von 134.93.136.193 (Diskussion) 19:40, 18. Apr. 2011 (CEST)
replies: text: Ja richtig, bei zwei echten Kindern ist die Löschoperation nicht erlaubt.--Sinuhe20 08:47, 15. Okt. 2011 (CEST)
thread_title:  Fehlerhafter Kommentar im Beispielcode zu Löschen? 

message: Im Vergleich zu AVL-Baum fehlt hier eine Übersicht zur Komplexität der Operationen.
Überhaupt fällt mir auf, dass sich die beiden Artikel deutlich unterscheiden: Hier findet man Code-Schnipsel, beim AVL-Baum mehr "mathematische" Notation.
Mir persönlich gefällt der Artikel zum AVL-Baum vom Stil her besser, während dieser hier als lesenswert gekennzeichnet ist. Heißt das, dass ich mit meiner Meinung alleine bin?
-- Christian Gawron 17:53, 13. Mai 2011 (CEST)
replies: text: Hallo Christian, ich finde die Tabelle auch schön. Aber ich hab auch gerne Übersichtstabellen in Artikeln und musste schon mehrfach feststellen, dass ich in der Wikipedia damit eher die Außnahme bin. 
Die Tabelle müsste in etwa so aussehen:
Rot-Schwarz-Baum                             	Rot-Schwarz-Baum                             	Rot-Schwarz-Baum
                                             	Komplexität                                  	Komplexität
Platz                                        	O(n)                                         	O(n)
Operation                                    	im Mittel                                    	Worst case
Suchen                                       	O(log n)                                     	O(log n)
Traversieren                                 	?                                            	?
Min, Max                                     	O(log n)                                     	O(log n)
Einfügen                                     	?                                            	?
Löschen                                      	?                                            	?
n  Knoten im Baum†  ohne Navigation	n  Knoten im Baum†  ohne Navigation	n  Knoten im Baum†  ohne Navigation
Tabelle 1: Platz- und Zeit-Komplexitäten     	Tabelle 1: Platz- und Zeit-Komplexitäten     	Tabelle 1: Platz- und Zeit-Komplexitäten
Ich glaube was bei Traversierung im AVL-Artikel steht ist falsch. Ich frage dort nochmals nach.
--Martin Thoma 18:19, 10. Jun. 2012 (CEST)
thread_title:  Übersicht zu Komplexität, Vergleich mit [[AVL-Baum]] 

message: Weiter oben taucht ja schon die Frage auf: Wo werden Rot-Schwarz-Bäume verwendet? Eine Antwort: Im Java Developer's Kit sind laut Doku die Klassen TreeSet und TreeMap als Rot-Schwarz-Bäume implementiert. Soll ich mal einen Link zur JDK-API ausgraben und als Beleg in den Artikel eintragen? -- UKoch 13:27, 1. Jun. 2011 (CEST)
replies: text: Das wäre toll, wenn du das einarbeiten könntest. Man könnte vielleich einen neuen Abschnitt vor "Weitere Bäume" machen, z.B. "Verwendung von Rot-Schwarz-Bäumen". Da gibts doch sicher auch Systemnahe beispiele, oder? --Martin Thoma 09:35, 15. Jun. 2012 (CEST)
replies: text: Ich hab's eingearbeitet. Was verstehst Du unter systemnahen Beispielen? -- UKoch (Diskussion) 20:49, 7. Sep. 2014 (CEST)
thread_title:  Verwendung von Rot-Schwarz-Bäumen 

message: Im Artikel heißt es:
:"während auf dem kürzesten Pfad nur schwarze Knoten vorhanden sind".
Irgendwas kapiere ich da nicht: In der Abb gibt es 2 kürzeste Pfade (13,8,11) und (13,17,15) und beide enthalten einen roten Knoten, nämlich den mittleren. -- Nomen4Omen 17:13, 29. Feb. 2012 (CET)
replies: text: Gemeint ist, dass der kürzest mögliche Pfad in einem gegebenem Rot-Schwarz-Baum, der keine Eigenschaft von R-S-Bäumen verletzt, nur aus schwarzen Knoten besteht. Das muss so sein, da die Schwarz-Höhe konstant sein soll und somit nur die roten Knoten die Höhe variiren. --Martin Thoma 09:30, 15. Jun. 2012 (CEST)
thread_title:  Eigenschaften 

message: im Fall vier unter dem Abschnitt 2.2 "Einfügen" wird der neue, rote Knoten unter einem vorhandenen, roten Knoten platziert. Das verletzt doch die 4. Eigenschaft, nachder auf einen roten, immer ein schwarzer Knoten folgen muss, oder habe ich was übersehen?--91.11.41.233 19:18, 29. Dez. 2012 (CET)
thread_title:  Absatz 2.2 Fall 4 : zwei aufeinander folgende rote Knoten 

message: # Ich habe die (vormals zweite) Regel "Die Wurzel ist schwarz" zur didaktischen Taktik, die die Anzahl der Fallunterscheidungen geringer hält, heruntergestuft. Ich denke, das ist legitim: Mehlhorn und Sedgewick haben sie auch nicht drin.
# Beide ziehen auch das Einfärben in 2 Farben "vor die Klammer". Will sagen: Die übrig bleibenden 3 Forderungen werden an einen 2-gefärbten Binärbaum gestellt, damit er ein RB-Baum wird.
# Den Begriff Schwarzhöhe habe ich durch Schwarztiefe des Teilbaums ersetzt. Man könnte natürlich auch sagen: Schwarztiefe eines Baums ist von der Wurzel zum Blatt, und Schwarzhöhe ist vom Blatt zu einem Knoten. Aber so stand's ja nicht da.
# Obere Schranke ist natürlich falsch, die gibt es nämlich nicht, allenfalls für .
# Den Fall Löschen Fall 1: habe ich nicht verstanden. Beim Nachlesen im Englischen habe ich entdeckt, dass dort fürs Löschen ganz neue Namen für die relevanten Knoten vergeben wurden, und N nicht mehr den Konfliktknoten, sondern "non-leaf (non-null) child N" ist. Es wurden aber auch viele andere neue Knotennamen vergeben. Also ich lass da erstmal die Finger von, betrachte die Sache aber als ernst.
# Es gibt ja oberhalb dieses Abschnitts noch viele Fragen etc., von denen ich nicht weiß, ob sie gelöst wurden.
--Nomen4Omen (Diskussion) 17:24, 26. Nov. 2013 (CET)
thread_title:  Änderungen am 2013-11-26 

message: Wie im Text ausgeführt, kann der Baum der Schwarzhöhe s=0 ein rotes Blatt enthalten (mit dem Ergebnis n=1). Damit ist die Ungleichung 1 = n \le 2^{2s+1}\!\!-\!\!1 = 2^1-1 = 1 möglich. --Nomen4Omen (Diskussion) 16:18, 10. Sep. 2023 (CEST)
thread_title:  Zum Revert von  08:51, 26. Aug. 2023‎ 62.72.92.187