Eine häufig gestellte Interviewfrage besteht darin, einen Algorithmus anzugeben, mit dem festgestellt werden kann, ob ein gegebener Binärbaum eine ausgeglichene Höhe aufweist (AVL-Baumdefinition).
Ich habe mich gefragt, ob wir etwas Ähnliches mit rot-schwarzen Bäumen machen können.
Wenn ein beliebiger, ungefärbter Binärbaum (mit NULL-Knoten) gegeben ist, gibt es einen "schnellen" Algorithmus, der bestimmen kann, ob wir die Knoten rot / schwarz färben (und eine Färbung finden) können, so dass sie alle Eigenschaften eines Rot-Schwarz-Baums erfüllen (Definition wie in dieser Frage )?
Ein erster Gedanke war, dass wir einfach die NULL-Knoten entfernen und versuchen können, rekursiv zu überprüfen, ob der resultierende Baum ein rot-schwarzer Baum sein kann, aber das schien nirgendwo hin zu gehen.
Ich habe (kurz) im Internet nach Artikeln gesucht, konnte aber anscheinend keine finden, die sich mit diesem Problem befassen.
Es ist möglich, dass mir etwas Einfaches fehlt.