拓扑排序 实现算法之二dfs实现 关键路径的实现基础

本文探讨拓扑排序在关键路径实现中的基础作用,并介绍了两种实现方法,包括深度优先搜索(DFS)的详细讲解。推荐链接提供更深入的学习资源。
摘要由CSDN通过智能技术生成

如果想深入学习拓扑排序与关键路径(最长路径)的关系,建议学习博客:

https://blog.csdn.net/qq_40772692/article/details/84190698

拓扑排序是关键路径的实现基础

有两种实现方式:

1:dfs

2:queue

package 图论算法;
//参考博客
//https://blog.csdn.net/qq_40772692/article/details/84190698
//拓扑排序的两种实现算法之二:DFS算法(基于递归与数组标记)
//核心思路:用vis数组来标记节点状态:0表示未访问,1表示已经访问,-1表示正在访问。
//如某节点递归过程中发现子节点状态为-1,则说明图中有环!!
import java.util.Scanner;
import java.util.Stack;
public class 拓扑排序dfs实现 {
	//新的发现,真的是一件很开心的事情,以后的函数的参数就可以少一点了
	//把要用的array,stack,queue,arraylist,linkedlist都定义在这里就可以了。
	static Stack s=new Stack<Integer>();
    public static boolean dfs(int a,int n,int[]vis,int[][]map) {
    	vis[a]=-1;
    	for(int i=0;i<n;i++) {
    		//如果a到i有路
    		if(map[a][i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值