Ich versuche, einen Algorithmus mit dem Divide-and-Conquer-Ansatz aber mit einem iterativen Algorithmus (dh keine Rekursion) zu erstellen.Iterative Divide und Conquer-Algorithmen
Ich bin verwirrt, wie man die Schleifen nähert.
Ich muss meine Probleme in kleinere Subprobleme aufteilen, bis ich einen Basisfall treffe. Ich nehme an, das ist immer noch wahr, aber ich bin mir nicht sicher, wie ich (ohne Rekursion) die kleineren Teilprobleme verwenden kann, um das viel größere Problem zu lösen.
Zum Beispiel versuche ich, einen Algorithmus zu finden, der das nächstgelegene Punktepaar findet (im eindimensionalen Raum - obwohl ich beabsichtige, dies auf höhere Dimensionen zu verallgemeinern). Wenn ich eine Funktion nearest_pair (L) hätte, wobei L eine Liste ganzzahliger Koordinaten in ÷ ist, wie könnte ich dann einen ITERATIVE-Algorithmus finden, der dieses Problem lösen kann?
(Ohne Beschränkung der Allgemeinheit ich Python verwende)
Gibt es einen bestimmten Grund, warum Sie Rekursion nicht (nicht?) Verwenden können? – Gormador
Ich muss einen iterativen Algorithmus für eine in der Klasse gegebene Zuweisung entwerfen. Ich kenne die Lösung dafür rekursiv (unter Verwendung von D & C) und ich bin zuversichtlich, dass ich dies in iterativen Code übersetzen kann und die Tatsache nutzen kann, dass der D & C-Ansatz in O (nlogn) -Zeit im Gegensatz zu O (n^2) ist. – TimelordViktorious
Das habe ich befürchtet. Vor allem im Rahmen einer Klassenaufgabe werden Sie hier keine Hilfe bekommen, bevor Sie zeigen, was Sie bereits in Codes ausprobiert haben, obwohl ich verstehe, dass Ihre Frage eher allgemeine Programmierung als eine Sprache im Besonderen ist. Ach, du wirst irgendwann Code schreiben müssen und das wird konkrete Antworten beeinflussen ... Obwohl es scheint, jemand hat geantwortet! Du scheinst Glück zu haben! – Gormador