DSAverse
Initializing Sorting Algorithms...
Sorting Algorithm
Binary Tree
Graph Traversal
Preparing interactive visualizations for optimal learning experience...
Initializing Sorting Algorithms...
Preparing interactive visualizations for optimal learning experience...
Initializing Sorting Algorithms...
Preparing interactive visualizations for optimal learning experience...
Watch backtracking recursion solve the classic N-Queens puzzle by placing queens on a chessboard.
Click Start to begin the N-Queens visualization
def solve_nqueens(n):
def is_safe(board, row, col):
# Check column and diagonals
for i in range(row):
if (board[i] == col or
abs(board[i] - col) == abs(i - row)):
return False
return True
def backtrack(board, row):
if row == n: # Base case - solution found
solutions.append(board[:])
return
for col in range(n):
if is_safe(board, row, col):
board[row] = col # Place queen
backtrack(board, row + 1) # Recurse
board[row] = -1 # Backtrack
solutions = []
board = [-1] * n
backtrack(board, 0)
return solutions
# Example: 4-Queens has 0 solutionsIn the worst case, we try all possible arrangements of N queens, which is approximately N! possibilities.
We need space for the board (N×N) and the recursion stack depth is at most N.