Coding Interview Prep · Lektion

Mit Beschneiden das Zeitlimit einhalten

Schneiden Sie Zweige ab, die keine Verbesserung bringen können

Lektion 4 von 413 Schritte

Mit Beschneiden das Zeitlimit einhalten ist eine kostenlose Coding Interview Prep-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Coding Interview Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Coding Interview Prep-Kurs umfasst insgesamt 4 Lektionen.

Warum Pruning wichtig ist

Unverändertes Backtracking kann viel zu viele Zweige untersuchen und das Zeitlimit überschreiten. Pruning schneidet aussichtslose Zweige früh ab, damit Ihr Programm schnell bleibt. ✂️

Was Pruning wirklich bedeutet

Pruning bedeutet, einen Zweig in dem Moment zu beenden, in dem Sie beweisen können, dass er keine gültige oder bessere Lösung erreichen kann. Sie überspringen seine vollständige Untersuchung.

Pruning nach Machbarkeit

Wenn die aktuelle Teilauswahl bereits eine Regel verletzt, kehren Sie sofort zurück. Diese Machbarkeitsprüfung verhindert, dass Sie auf einem ungültigen Zustand aufbauen.

if violates(cur):
    return

Pruning mit Schranken

Verfolgen Sie die bisher beste gefundene Lösung. Wenn das bestmögliche Ergebnis eines Zweigs schlechter wäre, schneiden Sie ihn ab. Das ist eine Schranke für den Zweig.

Pruning im Code

Hier beendet eine Schranke den Zweig, wenn selbst die optimistische Schätzung die aktuelle beste Lösung nicht übertreffen kann.

if cur_cost + best_possible <= best:
    return

Optionen sinnvoll anordnen

Wenn Sie zuerst die aussichtsreichste Option ausprobieren, finden Sie früher eine gute Lösung. Dadurch steigt die Schranke, und später können mehr Zweige abgeschnitten werden.

Constraint Propagation

Schränken Sie nach einer Auswahl ein, was spätere Schritte noch tun können. Das frühzeitige Entfernen unmöglicher Optionen heißt Constraint Propagation und verkleinert den Baum.

Symmetrien aufbrechen

Wenn zwei Zweige Spiegelbilder voneinander sind, untersuchen Sie nur einen. Symmetry Breaking kann die Arbeit halbieren oder noch stärker reduzieren, ohne Lösungen zu verlieren.

Überlappende Zustände memoization-basiert speichern

Wenn derselbe Teilzustand erneut auftritt, speichern Sie sein Ergebnis zwischen. Memoisierung macht aus wiederholten Teilbäumen eine einzige schnelle Abfrage.

from functools import lru_cache
@lru_cache(maxsize=None)
def solve(state):
    ...

Früh statt spät abschneiden

Prüfen Sie die Abbruchbedingung vor dem rekursiven Aufruf, nicht danach. Frühes Pruning vermeidet die vergeudete Arbeit, einen aussichtslosen Zweig zu erweitern.

Vor dem Ausführen schätzen

Prüfen Sie stets grob die Anzahl der Zweige im Worst Case anhand der Einschränkungen. Ist sie zu groß, benötigen Sie stärkeres Pruning oder einen neuen Ansatz.

Kurze Überprüfung

Was ist das Ziel von Pruning beim Backtracking?

Zusammenfassung: Aussichtlose Zweige abschneiden

Sie haben gelernt, mit Machbarkeits- und Schrankenprüfungen, einer sinnvollen Reihenfolge, Symmetry Breaking und Memoisierung Pruning einzusetzen, um das Zeitlimit einzuhalten. 🎯

Kostenlos starten

Lerne Coding Interview Prep mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
90
Lektionen
360

Häufig gestellte Fragen

Ist die Lektion „Mit Beschneiden das Zeitlimit einhalten“ kostenlos?

Ja — der vollständige Text von „Mit Beschneiden das Zeitlimit einhalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Coding Interview Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Coding Interview Prep-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Mit Beschneiden das Zeitlimit einhalten“?

Schneiden Sie Zweige ab, die keine Verbesserung bringen können Du übst Coding Interview Prep mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Coding Interview Prep zu starten?

Keine Vorkenntnisse erforderlich. Coding Interview Prep auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Mit Beschneiden das Zeitlimit einhalten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Coding Interview Prep-Lektion Code schreiben und ausführen?

Ja. Jede Coding Interview Prep-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Rekursiv denken: Basisfall und Rekursion
  2. Alle Teilmengen erzeugen
  3. Permutationen und die N-Queens-Idee
  4. Mit Beschneiden das Zeitlimit einhalten
← Zurück zu Coding Interview Prep