This commit is contained in:
2026-05-18 19:58:36 +05:30
commit cc4b4cbbfc
16 changed files with 471 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
import java.util.*;
public class topologicalSort{
static int N;
static int[][] graph;
static boolean[] visited;
static Stack<Integer> stack = new Stack<>();
static void dfs(int v){
visited[v] = true;
for(int i =0;i<N;i++){
if(!visited[i] && graph[v][i]==1){
dfs(i);
}
}
stack.push(v);
}
static void topoSort(){
for(int i=0;i<N;i++){
if(!visited[i]){
dfs(i);
}
}
System.out.println("\nValid execution order");
while(!stack.isEmpty()){
System.out.print((char)('A'+ stack.pop())+"->");
}
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("\nEnter number of tasks: ");
N = sc.nextInt();
graph = new int[N][N];
visited = new boolean[N];
System.out.print("ENter number of dependencies: ");
int edges = sc.nextInt();
System.out.println("Enter dependencies (u v means u -> v):");
for(int i = 0;i<edges;i++){
char u = sc.next().charAt(0);
char v = sc.next().charAt(0);
graph[u-'A'][v-'A'] = 1;
}
topoSort();
sc.close();
}
}