Ich frage mich, was der Big-O einer einfachen Brute Force Backtracking Sudoku-Algorithmus war.Was ist das Big-O von Sudoku mit Brute-Force-Backtracking?
Sudoku hat 4 Constraints:
- Zelle - eine Zelle eine Nummer max
- Region enthalten kann - Zahlen in der Region müssen alle verschiedenen
- Reihe sein - Zahlen auf der gleichen Reihe alle sein muß verschiedene
- Spalte - Zahlen auf der gleichen Spalte müssen alle verschiedenen
Angesichts der 9x9-Gitter sein:
3|___|___________
_|_ _|_ _ _ _ _ _
_|___|_ _ _ _ _ _
_|_ _ _ _ _ _ _ _
_|_ _ _ _ _ _ _ _
_|_ _ _ _ _ _ _ _
_|_ _ _ _ _ _ _ _
_|_ _ _ _ _ _ _ _
_|_ _ _ _ _ _ _ _
glaube ich, dass die Zeile, Spalte und Region Einschränkungen sind alle O (N!) Da (n) (n-1) (n-2) (n-3) (n-4) (n- 5) (n-6) (n-7) (n-8) für jede Zeile, Spalte und Region, wenn sie gefüllt werden.
Aber da es mindestens 17 gegebene Lösungen für eine einzigartige 9x9 Sudoku Lösung geben muss, bin ich mir jetzt nicht sicher. Die Anzahl der Permutationen ist O (n^(n^2 - k)), wobei k = 17 für reine Brute-Force ist, aber dies schließt keine Constraint-Befriedigung ein, die sicher entweder exponentiell O (c^n) oder faktoriell O ist (n!) zumindest.
Also ist die Frage wieder, was ist das Big-O von Sudoku mit Brute-Force-Backtracking mit Constraint Zufriedenheit und warum? O (log n!)?
Hängt davon ab, wie schlau Ihr Algorithmus ist. – gnasher729
der Algorithmus ist eine wirklich naive Brute-Force-Backtracking - wie kann ich das Big-O finden? – Tai