Untitled
unknown
plain_text
3 years ago
7.2 kB
8
Indexable
/*import java.util.InputMismatchException;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;*/
import java.util.*;
public class BFS
{
private Queue<Integer> queue;
public BFS()
{
queue = new LinkedList<Integer>();
}
public void bfs(int adjacency_matrix[][], int source)
{
int number_of_nodes = adjacency_matrix[source].length - 1;
int[] visited = new int[number_of_nodes + 1];
int i, element;
visited[source] = 1;
queue.add(source);
while (!queue.isEmpty())
{
element = queue.remove();
i = element;
System.out.print(i + "\t");
while (i <= number_of_nodes)
{
if (adjacency_matrix[element][i] == 1 && visited[i] == 0)
{
queue.add(i);
visited[i] = 1;
}
i++;
}
}
}
public static void main(String arg[])
{
int number_no_nodes, source;
Scanner scanner = null;
try
{
System.out.println("Enter the number of nodes in the graph");
scanner = new Scanner(System.in);
number_no_nodes = scanner.nextInt();
int adjacency_matrix[][] = new int[number_no_nodes + 1][number_no_nodes + 1];
System.out.println("Enter the adjacency matrix");
for (int i = 1; i <= number_no_nodes; i++)
for (int j = 1; j <= number_no_nodes; j++)
adjacency_matrix[i][j] = scanner.nextInt();
System.out.println("Enter the source for the graph");
source = scanner.nextInt();
System.out.println("The BFS traversal of the graph is ");
BFS bfs = new BFS();
bfs.bfs(adjacency_matrix, source);
} catch (InputMismatchException inputMismatch)
{
System.out.println("Wrong Input Format");
}
scanner.close();
}
}
/*import java.util.InputMismatchException;
import java.util.Scanner;
import java.util.Stack;*/
import java.util.*;
public class DFS
{
private Stack<Integer> stack;
public DFS()
{
stack = new Stack<Integer>();
}
public void dfs(int adjacency_matrix[][], int source)
{
int number_of_nodes = adjacency_matrix[source].length - 1;
int visited[] = new int[number_of_nodes + 1];
int element = source;
int i = source;
System.out.print(element + "\t");
visited[source] = 1;
stack.push(source);
while (!stack.isEmpty())
{
element = stack.peek();
i = element;
while (i <= number_of_nodes)
{
if (adjacency_matrix[element][i] == 1 && visited[i] == 0)
{
stack.push(i);
visited[i] = 1;
element = i;
i = 1;
System.out.print(element + "\t");
continue;
}
i++;
}
stack.pop();
}
}
public static void main(String args[])
{
int number_of_nodes, source;
Scanner scanner = null;
try
{
System.out.println("Enter the number of nodes in the graph");
scanner = new Scanner(System.in);
number_of_nodes = scanner.nextInt();
int adjacency_matrix[][] = new int[number_of_nodes + 1][number_of_nodes + 1];
System.out.println("Enter the adjacency matrix");
for (int i = 1; i <= number_of_nodes; i++)
for (int j = 1; j <= number_of_nodes; j++)
adjacency_matrix[i][j] = scanner.nextInt();
System.out.println("Enter the source for the graph");
source = scanner.nextInt();
System.out.println("The DFS Traversal for the graph is given by ");
DFS dfs = new DFS();
dfs.dfs(adjacency_matrix, source);
}catch(InputMismatchException inputMismatch)
{
System.out.println("Wrong Input format");
}
scanner.close();
}
}
import java.util.*;
public class EightQueens
{
public static void main(String args[])
{
Scanner src=new Scanner (System.in);
System.out.println ("Enter the number of queens you want to place :");
int N=src.nextInt();
int[][] board = new int[N][N];
solve(0, board, N);
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
if (board[i][j]==1)
System.out.print ("Q ");
else
System.out.print("* ");
}
System.out.println();
}
}
static boolean solve(int row, int[][] board, int N)
{
if(row>=N) return true;
for(int position = 0; position < N; position++)
{
if(isValid(board, row, position, N))
{
board[row][position] = 1;
if(!solve(row+1, board, N))
{
board[row][position] = 0;
}
else
return true;
}
}
return false;
}
static boolean isValid(int[][] board, int x, int y, int N)
{
int i, j;
for(i = 0; i < x; i++)
if(board[i][y]==1)
return false;
i = x - 1;
j = y - 1;
while((i>=0)&&(j>=0))
if(board[i--][j--]==1)
return false;
i = x - 1;
j = y + 1;
while((i>=0)&&(j<N))
if(board[i--][j++]==1)
return false;
return true;
}
}
import java.util.Scanner;
public class Minimax
{
public static int min(int a[][],int n,int setIndex)
{
int smallest = a[setIndex][0];
for(int i=1; i<n; i++)
{
if(smallest > a[setIndex][i])
smallest = a[setIndex][i];
}
return smallest;
}
public static int max(int a[][],int n,int setIndex)
{
int greatest = a[setIndex][0];
for(int i=1; i<n; i++)
{
if(greatest < a[setIndex][i])
greatest = a[setIndex][i];
}
return greatest;
}
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.println("Enter the no. of nodes in each subtree");
int n = s.nextInt();
int set[][] = new int[n][n];
System.out.println("Enter the utility values: ");
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
set[i][j] = s.nextInt();
}
}
int max[][] = new int[1][n];
System.out.print("The min values retured are: ");
for(int i=0; i<n; i++)
{
max[0][i] = min(set, n, i);
System.out.print(" " +max[0][i]);
}
System.out.println("");
int maxValue = max(max, n, 0);
System.out.println("The Max Value is " + maxValue);
}
}Editor is loading...