Professional Documents
Culture Documents
Practical File
For
Semester: 3rd
Submitted to Submitted by
5.
6.
7.
8.
9.
10.
Experiment : 1
Q. Write a program to solve 8 – Queen Problem
Ans.
if board[row][i] == 1:
return False
# Check upper diagonal on the left side
for i, j in zip(range(row, -1, -1), range(col, -1, -1)):
if board[i][j] == 1:
return False
# Check lower diagonal on the left side
for i, j in zip(range(row, len(board)), range(col, -1, -1)):
if board[i][j] == 1:
return False
return True
def solve_queens(board, col):
if col >= len(board):
return True
for i in range(len(board)):
if is_safe(board, i, col):
board[i][col] = 1
if solve_queens(board, col + 1):
return True
board[i][col] = 0
return False
def print_solution(board):
for row in board:
OUTPUT:
Experiment : 2
Q. Write a Program to implement DFS.
Ans.
graph = {
'A': ['B', 'C', 'D'],'B': ['E'],'C': ['D', 'E'],'D': ['A', 'C'],'E': ['C', 'B']}
visited = set()
def dfs(visited, graph, root):
if root not in visited:
print(root)
visited.add(root)
for neighbor in graph[root]:
dfs(visited, graph, neighbor)
dfs(visited, graph, 'A')
OUTPUT:
Experiment : 3
Q. Write a Program to implement BFS.
Ans.
import collections
def bfs(graph, root):
visited = set()
queue = collections.deque([root])
while queue:
vertex = queue.popleft()
visited.add(vertex)
for i in graph[vertex]:
if i not in visited:
queue.append(i)
print(visited)