DSAverse
Recursion
Loading Recursion Visualizer...
Recursion Tree
depth: 1f(n) = f(n-1) + f(n-2)
Initializing Sorting Algorithms...
Sorting
Trees
Graphs
Preparing interactive visualizations...
Recursion
Loading Recursion Visualizer...
Recursion Tree
depth: 1f(n) = f(n-1) + f(n-2)
Watch backtracking place queens row by row, retreat when stuck, and systematically find all valid arrangements.
Click Play to begin the N-Queens visualization.
What does backtracking do in N-Queens when a queen can't be placed?
def solve_nqueens(n):
def is_safe(board, row, col):
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: # All queens placed
solutions.append(board[:])
return
for col in range(n):
if is_safe(board, row, col):
board[row] = col # Place queen
backtrack(board, row + 1)
board[row] = -1 # Backtrack
solutions = []
board = [-1] * n
backtrack(board, 0)
return solutions
# 4-Queens: 0 solutions