You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Weiterentwicklung der Strategie, z.B. nicht alle leeren_Felder checken, sondern erstmal die vom letzen Versuch veränderten Zellen (Spalte, Zeile und Block). Ich habe dein Projekt mal in C++ nachgeschrieben. Mit deinem Python_Code komme ich bei deinem Referenz-Sudoku auf 0,118 Sekunden, in C++ auf 0,062 Sekunden und mit dem verbesserten Algorithmus auf 0,019 Sekunden.
Hab noch eine weitere Optimierung mit Pointern im Kopf, dies ließe sich jedoch nicht in Python umsetzen, dürfte jedoch nochmal eine deutliche Beschleunigung bedeuten, da die Listen für die Kandidaten und die freien Felder wegfallen würden. In meineM C++_Code habe ich jedoch nur für die freien Felder eine Liste verwendet und die Kandidaten als Array von Bool-Werten dargestellt, mit Listen war C++ langsamer als Python.
Hab mir schon überlegt ob ich dazu mal ein Video machen soll.
The text was updated successfully, but these errors were encountered:
ich hab inzwischen eine Lösung die nur noch 0.006 Sekunden benötigt. Die in einer Rekursion kontrollierten Felder werden in einem Array von Bool-Werten hinterlegt und dadurch nicht doppelt geprüft und ich verzichte auf die Liste der freien Felder. Die Kandidaten werden weiterhin ebenfalls in einem Array von Bool-Werten dargestellt. Die Pointer sind noch nicht implementiert.
Ich hab vorhin mal angefangen mich mit der Video-Aufnahme zu beschäftigen. Wenn ich das Video fertig hab geb ich es dir frei zu reviewen.
Visualisierung der Lösungsstrategie mit pygame
Weiterentwicklung der Strategie, z.B. nicht alle leeren_Felder checken, sondern erstmal die vom letzen Versuch veränderten Zellen (Spalte, Zeile und Block). Ich habe dein Projekt mal in C++ nachgeschrieben. Mit deinem Python_Code komme ich bei deinem Referenz-Sudoku auf 0,118 Sekunden, in C++ auf 0,062 Sekunden und mit dem verbesserten Algorithmus auf 0,019 Sekunden.
Hab noch eine weitere Optimierung mit Pointern im Kopf, dies ließe sich jedoch nicht in Python umsetzen, dürfte jedoch nochmal eine deutliche Beschleunigung bedeuten, da die Listen für die Kandidaten und die freien Felder wegfallen würden. In meineM C++_Code habe ich jedoch nur für die freien Felder eine Liste verwendet und die Kandidaten als Array von Bool-Werten dargestellt, mit Listen war C++ langsamer als Python.
Hab mir schon überlegt ob ich dazu mal ein Video machen soll.
The text was updated successfully, but these errors were encountered: