Ich werde eine andere Antwort geben, da dies zu viel für einen Kommentar ist und einen allgemeineren Ansatz behandelt.
In ESL beschreiben sie also tatsächlich die Rechenzeit für einen Branch-and-Bound (genauer gesagt, es sieht für mich wie eine Teilung und Eroberung aus).
Wir bezeichnen mit die Anzahl der Beobachtungen und mit die Anzahl der Kinderknoten, wenn wir einen Baum wachsen lassen. Ich gehe davon aus, dass wir im Allgemeinen nicht verlieren, wenn wir als fest betrachten. Wir können auch mit die Verarbeitungszeit zum Berechnen von Teilungspunkten an einem gegebenen Knoten bezeichnen.K K f ( N )NKKf(N)
Somit können wir die Formel für die Ausführungszeit rekursiv schreiben wie:
Wir haben hier berücksichtigt, dass die untergeordneten Knoten den Eingabedatensatz der Größe in Teilmengen aufteilen von gleicher Größe . Wir wissen, dass dies der beste Fall ist.N K N / K.
T(N)=f(N)+K∗T(N/K)
NKN/K
Wir können jedoch sehen, dass dies eine bekannte Anwendung des Master-Theorems ist. Dies ist im CLRS-Buch gut dokumentiert . Ich habe die 3. Ausgabe und die Details sind in Abschnitt 4.5 und der Beweis ist im nächsten Abschnitt. Ich erinnere mich nicht gut an die Details, aber ich erinnere mich, dass es nicht zu kompliziert ist, wenn man die Rekursion erweitert und einige Begriffe zusammenfasst.
Für diesen Fall ist jedoch wichtig, dass wenn - lineare Zeit ist, die resultierende Zeit des Algorithmus . Diese Zeit wird für eine einzelne Eingangsvariable berechnet, daher wäre unsere Gesamtzeit für Variablenf(N)=O(N)T(N)=O(NlogN)PO(PNlogN)
Diese Zeit ist für das erreichbar, wenn alle Eingaben anfänglich in sortiert sind und das des Aufteilungswerts für diese sortierten Eingaben lineare Zeit benötigt. Hier können wir den Online-Varianzalgorithmus anwenden, wie ich in meiner vorherigen Antwort für . Fürist noch einfacher Median zu finden. Ich gebe zu, ich habe nie eine andere Verlustfunktion für Bäume ausprobiert.O(PNlogN)L2=1N(y−y^)2L1=1N|y−y^|
Beachten Sie jedoch, dass der Hauptsatz für den besten Fall gilt, wenn die Teilungen gleich groß sind. Der schlimmste Fall ist, wenn die Aufteilung sehr unausgeglichen ist. Dort kann man einen anderen Fall des Master-Theorems anwenden und die Zeit wird .O(PN2)
Als Schlussfolgerung gehe ich davon aus, dass ESL-Autoren den Begriff typischerweise so verwenden, dass er zur Beschreibung des Quick-Sort-Algorithmus verwendet wird. Typischerweise ergibt eine schnelle Sortierung die Laufzeit von mit dem ungünstigsten Fall für einige spezifische Dateneinstellungen.O ( N 2 )O(NlogN)O(N2)
Ich hoffe, es hilft.