拓扑排序【邻接矩阵&邻接表】

拓扑排序

在这里插入图片描述

TuoPuSort

一、概念

我们再说拓扑排序时,我们首先了解下​DAG

将有向无环图G=(V,E)中的所有顶点排成一个线性序列,使图中任意一对顶点u,v,之间不存在环路

DAG是一种特殊的有向图,它由一组顶点和一组有向边组成,且不存在任何环路。

  • 每个顶点表示一个任务或操作,而有向边表示任务之间的依赖关系。
  • 在有向无环图中,从任意顶点出发沿着有向边行走,不会回到起始顶点。

拓扑排序:

看完上面,我们说下拓扑排序,这玩意儿的出现就是针对有向无环图,通过此算法,找出邮箱无环图的序列

注意: 拓扑排序的序列是不唯一的

算法描述:

使用邻接矩阵的代码如下: 【不懂,就画图,每个新序列按照一步步去拆解】

 /**
  * @param1: 邻接矩阵,adjMatrix[i][j] = 0 表示节点 i 和 j 之间没有边直接相连
  * @return: 拓扑序列
  * @description: 对用邻接表 adjMatrix 表示的图进行拓扑排序
  */
 public static int[] tuopuSort(int[][] adjMatrix){
   
   
     //n表示图中的节点数
     int n=adjMatrix.length;
     //计算图中每个节点的入度,inDegree[i]=j 表示节点i 的入度为j
     int[] inDegree=new int[n];
     for(int j=0;j<n;j++){
   
   
         for(int i=0;i<n;i++
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值