Hallo zusammen,
da ich ein Programm geschrieben habe das mithilfe von Backtracking Sudokus löst, möchte ich nun auch eine Laufzeitbestimmung machen.
Folgende Ansätze habe ich:
Fehler in Sudoku finden:
Bevor der Backtracking algorithmus ausgeführt wird, wird kontrolliert ob das Sudoku nicht von Anfang an einen Fehler hat.
Er geht jedes Feld(Textfeld) im sudoku[][] durch -> 81 Felder
für jedes Feld muss er kontrollieren ob horizontal,vertikal oder in der Box schon einmal diese Zahl vorkommt -> 81*(9+9+9) im worst case, oder?
Laufzeitberechnung des Algorithmus:
ich habe eine 9x9 große Matrix, zu beginn gehe ich davon aus das noch kein Wert eingetragen ist:
stimmt es das das eintragen der ersten Zeile 9! = 1*2*...*9 ist?
Bzw. (9-n)! wobei n die Anzahl der schon belegten Felder ist.
Ich bräuchte dringend Hilfe !
Desweiteren habe ich eine Variable int laufzeit erstellt die immer dann erhöht wird wenn die checkmethoden ausgeführt werden oder eine Zahl eingetragen wird.
dadurch bin ich dann auf die Rechnung 45x81 gekommen.
45 = 1+2+3+4+5+6+7+8+9 ; 9x9 = 81 felder.
Diese Werte sind ziemlich identisch, aber ist das überhaupt richtig?
Vielen Dank im Voraus!
da ich ein Programm geschrieben habe das mithilfe von Backtracking Sudokus löst, möchte ich nun auch eine Laufzeitbestimmung machen.
Folgende Ansätze habe ich:
Fehler in Sudoku finden:
Bevor der Backtracking algorithmus ausgeführt wird, wird kontrolliert ob das Sudoku nicht von Anfang an einen Fehler hat.
Er geht jedes Feld(Textfeld) im sudoku[][] durch -> 81 Felder
für jedes Feld muss er kontrollieren ob horizontal,vertikal oder in der Box schon einmal diese Zahl vorkommt -> 81*(9+9+9) im worst case, oder?
Laufzeitberechnung des Algorithmus:
ich habe eine 9x9 große Matrix, zu beginn gehe ich davon aus das noch kein Wert eingetragen ist:
stimmt es das das eintragen der ersten Zeile 9! = 1*2*...*9 ist?
Bzw. (9-n)! wobei n die Anzahl der schon belegten Felder ist.
Ich bräuchte dringend Hilfe !
Desweiteren habe ich eine Variable int laufzeit erstellt die immer dann erhöht wird wenn die checkmethoden ausgeführt werden oder eine Zahl eingetragen wird.
dadurch bin ich dann auf die Rechnung 45x81 gekommen.
45 = 1+2+3+4+5+6+7+8+9 ; 9x9 = 81 felder.
Diese Werte sind ziemlich identisch, aber ist das überhaupt richtig?
Vielen Dank im Voraus!