精华内容
参与话题
问答
  • 有向图

    千次阅读 2018-10-30 11:25:35
    有向图 1、术语 在有向图中,边是单向的。每条边所连接的两个顶点都是一个有序对,他们的邻接性是单向的。 出度:该顶点指出的边的总数 入度:指向该顶点的边的总数 一条有向边的第一个顶点称为它的头,第二个...

    有向图

    1、术语

    在有向图中,边是单向的。每条边所连接的两个顶点都是一个有序对,他们的邻接性是单向的。

    出度:该顶点指出的边的总数
    入度:指向该顶点的边的总数

    一条有向边的第一个顶点称为它的,第二个顶点称为它的。将有向边画为由头指向尾的一个箭头
    v -> w 表示有向图中一条由v指向w的边。

    有向路径
    有向环
    简单有向环:除了起点和终点必须相同之外,不含有重复的顶点和边的环

    路径或环的长度即为其中所包含的边数

    有向图的可达性:当存在从v到w的路径时,称顶点w能够由顶点v达到。
    无向图的连通性


    2、有向图的数据结构

    有向图的API

    在这里插入图片描述

    reverse() 方法,返回该有向图的一个副本,但将其中所有边的方向反转。这样用例就可以找出指向每个顶点的所有边。

    有向图的表示:邻接表。边 v -> w 表示为顶点v所对应的邻接链表中包含一个w顶点。
    在用邻接表表示无向图时,如果v 在w 的链表中,那么w必然也在v的链表中。但在有向图中这种对称性是不存在的,因为每条边都只会出现一次。


    有向图的数据结构

    Digraph数据类型与Graph数据类型基本相同。区别是 addEdge() 只调用了一次 add(),而且它还有一个 reverse() 方法来返回图的反向图。

    /*DiGraph数据类型*/
    public class DiGraph{
        private final int V;    //顶点数目
        private int E;          //边的数目
        private Bag<Integer>[] adj; //邻接表
    
        public DiGraph(int V){
            this.V = V; this.E = 0;
            adj = (Bag<Integer>[]) new Bag[V];    //创建邻接表
            for(int v = 0; v < V; v++)          //将所有链表初始化为空
                adj[v] = new Bag<Integer>();
        }
    
    	public Graph(In in){
            this(in.readInt());      //读取V并将图初始化
            int E = in.readInt();    //读取E
            for(int i = 0;i < E; i++){
                int v = in.readInt();
                int w = in.readInt();
                addEdge(v, w);       //添加一条由v指向w的边   
            }
        }
    	
        public int V(){ return V; }
        public int E(){ return E; }
    
        public void addEdge(int v, int w){
            adj[v].add(w);    //!!!!与无向图的区别,只调用了一次add()
            E++;
        }
        public Iteralbe<Integer> adj(int v){
            return adj[v];
        }
        
    	public Digraph reverse(){   //!!!!与无向图的区别,有一个 reverse() 方法来返回图的反向图
    		Digraph R = new Digraph(V);
    		for(int v = 0; v < V; v++)
    			for(int w : adj(v))
    				R.addEdge(w, v);
    		return R;
    	}
    }
    
    

    3、有向图的可达性

    深度优先搜索 DFS 解决了单点连通性的问题,使得用例可以判定其他顶点和给定的起点是否连通。

    同样在有向图中,
    单点可达性给定一幅有向图和一个起点s,回答“是否存在一条从s到达给定顶点v的有向路径?”等类似问题。
    多点可达性给定一幅有向图和顶点的集合,回答“是否存在一条从集合中的任意顶点到达给定顶点v的有向路径?”等类似问题。

    在这里插入图片描述

    DirectedDFS 算法实现
    /*
     * 有向图的可达性。用例能够判断从给定的一个或者一组顶点能到达哪些其他顶点。
     */
    public class DirectedDFS{
        private boolen[] marked;    //使用一个boolean数组来记录和起点s连通的所有顶点
       
        public DirectedDFS(Digraph G, int s){
            marked = new boolen[G.V()];
            dfs(G, s);    
        }
        public DirectedDFS(Digraph G, Iterable<Integer> sources){
            marked = new boolen[G.V()];
            for(int s: sources)
            	if(!marked[s])	
            		dfs(G, s);    
        }
        
        private void dfs(Graph G, int v){
            marked[v] = true;
            for (int w : G.adj(v)){
                if (!marked[w])
                    dfs(G, w);
            }
        }
    
        public boolen marked(int v){ return marked[v]; }
    }
    
    

    下图显示了这个算法在处理有向图的操作轨迹。这份轨迹比相应的无向图算法的轨迹稍稍简单些,因为深度优先搜索本质上是一种适用于处理有向图的算法,每条边都只会被表示一次。
    在这里插入图片描述

    有向图路径问题

    单点路径 DepthFirstPaths
    单点最短路径 BreadFirstPaths
    在这里插入图片描述



    展开全文
  • 有向图和无向图

    万次阅读 多人点赞 2019-04-13 18:51:19
    有向图、无向图 有向图和无向图是我们常用到的术语,本文属于简单的科普帖。 全部由无向边构成图称为无向图(Undirected Graph),全部由有向边构成图称为无向图(Directed Graph)。有向,顾名思义,有方向。本文...

    有向图、无向图

    有向图和无向图是我们常用到的术语,本文属于简单的科普帖。

    全部由无向边构成图称为无向图(Undirected Graph),全部由有向边构成图称为有向图(Directed Graph)。有向,顾名思义,有方向。本文中顶点Vertex(V),边Edge(E)

    (1)出度和入度:如图D,以点A为例子,在所有与A关联的边中,以A为起点的边的条数称为出度。而入度则刚好相反,以A为终点的边的条数则称为入读。其中,入度+出度,我们称为A的度。注意特殊情况:如图:A有一个自环,起点和终点都是自己,此时出度算一度,入度也算一度。如图:A的出度为3,入度也为2,A的度的5。

    在这里插入图片描述
    (2)描述图的邻接矩阵和关联矩阵
    【邻接矩阵】

    定义:
    设无向图G=(V,E),其中顶点集V=v1,v2,…,vn,边集 E=e1,e2,…,eε。用aij表示顶点vi与顶点vj之间的边数,可能取值为0,1,2,…,称所得矩阵A=A(G)=(aij)n×n为图G的邻接矩阵。邻接矩阵可以描述有向图和无向图。

    示例,求图所示简单图的邻接矩阵?
    在这里插入图片描述
    解:根据定义,可求得该无向图的邻接矩阵为
    在这里插入图片描述

    邻接矩阵的存储特点:
    (a)无向图的邻接矩阵一定是一个对称矩阵,有向图不一定是。
    *(b)邻接矩阵所需的存储空间值域只与顶点数有关系。
    (c)用邻接矩阵存储图,容易判断两个点之间是否有边。
    (d)如果一个有向图的邻接矩阵为三角矩阵(主对角线为0),则它的拓扑排序一定存在。
    *(e)小技巧:
    无向图:邻接矩阵的第i行或者第i列的非零元素的个数正好是第i个顶点Vi的度;
    有向图:邻接矩阵的第i行的非零元素个数正好是第i个顶点Vi的出度,第i列非零元素的个数正好是第i个顶点Vi的入度。

    【关联矩阵】

    定义:
    设任意图G=(V,E),其中顶点集V=v1,v2,…,vn,边集E=e1,e2,…,eε。用mij表示顶点vi与边ej关联的关系,可能取值为0,1,-1,称所得矩阵M(G)=(mij)n×ε为图G的关联矩阵。
    在这里插入图片描述
    mij 表示i行j列,探究顶点Vi和边Ej之间的关系,形成下列的关联矩阵
    示例:
    在这里插入图片描述
    关联矩阵
    在这里插入图片描述

    连通图、连通分量

    连通图:无向图中,若从顶点u到顶点v有路径,称为u,v是连通的。若图中任意两个顶点均是连通的,则称为连通图。
    连通分量:无向图中极大连通子图称为连通分量。

    强连通图、强连通分量

    强连通图:有向图中,若从顶点u到顶点v有路径,称为u,v是连通的。若图中任意两个顶点均是连通的,则称为强连通图。
    连通分量:无向图中极大连通子图称为强连通分量。特:强连通图只有强连通分量(本身),非强连通图有多个强连通分量。

    另外,本文参考路了下面两位作者的优秀博客
    https://blog.csdn.net/Hanging_Gardens/article/details/55670356
    https://blog.csdn.net/legendaryhaha/article/details/83049101

    展开全文
  • 二:有向图 1.定义 2.图形化解释 3.结合​表达式介绍 有向图和无向图区别: 三:简单图 1.定义 2.图形化解释 四:完全无向图 1.定义 2.图形化解释 五:有向完全图 1.定义 2.图形化解释 一:无向图 1....

    目录:

    一:无向图

    1.定义

    2.图形化解释

    3.结合​表达式介绍

    二:有向图

    1.定义

    2.图形化解释

    3.结合​表达式介绍

    有向图和无向图区别: 

    三:简单图

    1.定义

    2.图形化解释

    四:完全无向图

    1.定义

    2.图形化解释

    五: 有向完全图

    1.定义

    2.图形化解释


    一:无向图

    1.定义

    若顶点 之间的边没有方向,则称这条边为 无向边(Edge)

    用无序偶对 表示

    如果图中任意两个顶点之间的边都是无向边,则称该图为 无向图

     

    无向图顶点的边数叫做 度

    2.图形化解释

    下图所示即为无向图:

    3.结合表达式介绍

    由于无向图是无方向的,连接顶点的边

    可以表示成无序对

    也可以写成

    对于上图中的无向图 来说

    其中顶点集合

    边集合

     

    二:有向图

    1.定义

    若从顶点  到  的边有方向,则称这条边为 有向边,也称为 弧(Arc)

    用有序偶 来表示称为弧尾(Tail),称为弧头(Head)

    如果图中任意两个顶点之间的边都是有向边,则称该图为 有向图(Directed graphs)

     

    有向图顶点分为 入度(箭头朝自己) 和 出度(箭头朝外)

    2.图形化解释

    如下图所示即为一个有向图:

    3.结合表达式介绍

    连接到顶点的有向边就是

    弧尾

     是弧头

    表示弧,注意不能写成

     

    对于上图的有向图

    其中顶点集合 

    弧集合 

    有向图和无向图区别: 

    :看清楚了,无向边用小括号表示

    有向边则是使用尖括号表示

     

    三:简单图

    1.定义

    在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图

    2.图形化解释

    如下所示的两个图就不属于简单图:

     

    四:完全无向图

    1.定义

    在无向图中,如果任意两个顶点之间都存在边,则称该图为 无向完全图

    2.图形化解释

    如下图所示即为一个无向完全图:

     

    五: 有向完全图

    1.定义

    在有向图中,如果任意两个顶点之间都存在 方向互为相反 的两条弧,则称该图为 有向完全图

    2.图形化解释

    如下图所示即为一个有向完全图:

     

    展开全文
  • 有向图和无向图的相关概念

    千次阅读 2020-04-29 15:44:42
    图的定义:  图在数据结构中是中一对多的关系,一般分为无向图与无向图  常用 邻接矩阵 或者 邻接链表 来...对于图7-1所示的无向图G1和有向图G2,它们的数据结构可以描述为:  G1=(V1,E1), 其中 V1={a,b,c,d...

    图的定义:

      图在数据结构中是中一对多的关系,一般分为无向图与无向图

      常用 邻接矩阵 或者 邻接链表 来表示图中结点的关系

      ⑴图是由顶点集V和顶点间的关系集合E(边的集合)组成的一种数据结构
      ⑵用二元组定义为:G=(V,E)。

    例如:

    对于图7-1所示的无向图G1和有向图G2,它们的数据结构可以描述为:

          G1=(V1,E1), 其中 V1={a,b,c,d},E1={(a,b),(a,c),(a,d),(b,d),(c,d)},
                     G2=(V2,E2),其中 V2={1,2,3}, E2={<1,2>,<1,3>,<2,3>,<3,1>}。

    有向图与无向图

        ⑴在图中,若用箭头标明了边是有方向性的,则称这样的图为有向图,否则称为无向图。

        如图7-1中:
             ①G1为无向图,   ②G2 为有向图。
        ⑵在无向图中:一条边(x,y)与(y,x)表示的结果相同,用圆括号表示,
        ⑶在有向图中:一条边<x,y>与<y,x>表示的结果不相同,故用尖括号表示。<x,y>表示从顶点x发向顶点y的边,x为始点,y为终点。
        ⑷有向边也称为弧,x为弧尾,y为弧头,则<x,y>表示为一条弧, 而<y,x>表示y为弧尾,x为弧头的另一条弧 。

     

    完全图/稠密图/稀疏图:

      ⑴具有n个顶点,n(n-1)/2条边的图,称为完全无向图,
      ⑵具有n个顶点,n(n-1) 条弧的有向图,称为完全有向图。
      ⑶完全无向图和完全有向图都称为完全图。
      ⑷对于一般无向图,顶点数为n,边数为e,则 0≤e  ≤n(n-1)/2。
      ⑸对于一般有向图,顶点数为n,弧数为e, 则 0≤e≤n(n-1)  。
      ⑹当一个图接近完全图时,则称它为稠密图,
      ⑺当一个图中含有较少的边或弧时,则称它为稀疏图。

    度/出度/入度:

      ⑴在图中,一个顶点依附的边或弧的数目,称为该顶点的度。

      ⑵在有向图中,一个顶点依附的弧头数目,称为该顶点的入度。

      ⑶一个顶点依附的弧尾数目,称为该顶点的出度,某个顶点的入度和出度之和称为该顶点的度。

      ⑷若图中有n个顶点,e条边或弧,第i个顶点的度为di,则有  e=1/2 * Σ(1<= i <= n,   di)

    子图

    ⑴若有两个图G1和G2, G1=(V1,E1), G2=(V2,E2), 满足如下条件:
        V2⊆V1  ,E2⊆ E1,即V2为V1的子集,E2为E1的子集,则 称图G2为图G1的子图。

    权:
    ⑴在图的边或弧中给出相关的数,称为权。
    ⑵权可以代表一个顶点到另一个顶点的距离,耗费
       等,带权图一般称为网。

    一个图由多个结点以及边组成。

    无向图例子:

      

      有向图例子:

      

    从上述例子中可以看出,一个图表是由数个顶点和边组成的。

      其中,无向图的边是没方向的,即两个相连的顶点可以互相抵达。

      而有向图的边是有方向的,即两个相连的顶点,根据边的方向,只能由一个顶点通向另一个顶点。(当然,如有向图例子中的2和3,由于有两个指向对方的方向,所以2和3是互通的。)

    完全图

    连通图:如果一个无向图从每一个顶点到其他顶点都存在一条路径,则称该无向图为连通图

    强连通图:具有这样的性质的有向图称为是强连通的,如果不是强连通的,

    弱连通图:它的基础图,即去掉弧上的方向所形成的的图,是连通的,那么该有向图称为弱连通的

    完全无向图:具有n个顶点,并具有n(n - 1)/2 条边的图,称为完全无向图(每个顶点到其他顶点都有边),连通图

    完全有向图:具有n个顶点,并且具有n(n - 1) 条边的有向图,称为完全有向图(每个顶点到其他顶点都有相互两条边),强连通图

    完全图:完全无向图和完全有向图都称为完全图

    邻接矩阵

    定义:
    设无向图G=(V,E)G=(V,E),其中顶点集V=v0,v1,v2,...,vnV=v1,v2,...,边集E=e0,e1,e2,...,eεE=e1,e2,...,eε。用aijaij表示顶点vivi与顶点vjvj之间的边数,可能取值为0,1,2,…,称所得矩阵A=A(G)=(aij)n×nA=A(G)=(aij)n×n为图G的邻接矩阵

    性质:

    类似地,有向图D的邻接矩阵A(D)=(aij)n×nA(D)=(aij)n×n, aijaij表示从始点vivi到终点vjvj的有向边的条数,其中vivi和vjvj为D的顶点

    示例,求图所示简单图的邻接矩阵?

    解:根据定义,可求得该无向图的邻接矩阵为

    注:邻接矩阵是描述图的一种常用的矩阵表示。

     

    关联矩阵

    定义:
    设任意图G=(V,E)G=(V,E),其中顶点集V=v1,v2,...,vnV=v1,v2,...,vn,边集E=e1,e2,...,eεE=e1,e2,...,eε。用mijmij表示顶点vivi与边ejej关联的次数,可能取值为0,1,2,…,称所得矩阵M(G)=(mij)n×εM(G)=(mij)n×ε为图G的关联矩阵

    类似地,有向图DD的关联矩阵M(D)=(mij)n×εM(D)=(mij)n×ε的元素mi×jmi×j定义为:

    示例,求图中有向图的邻接矩阵和关联矩阵

    解:根据定义,可求得该有向图的邻接矩阵:

    关联矩阵:

    注:关联矩阵是描述图的另一种矩阵表示。

    参考地址:

    https://blog.csdn.net/Hanging_Gardens/article/details/55670356

    https://blog.csdn.net/legendaryhaha/article/details/83049101

    https://www.cnblogs.com/schips/p/10632250.html

    展开全文
  • Gephi画无向图和有向图(显示节点和边序号) 数据形式 如果画无向图只要把Type这一列设置成undirected,不填入数据默认是directed 导入数据以后就可以设计节点以及边的属性了,如下: 显示的有向图如下: ...
  • 有向图删除边得到有向无环图

    千次阅读 2019-04-26 00:30:05
    给定用邻接表表示的有向图G,从G中删除一些边,将G转化为有向无环图 具体思路 判定是否是有向图可以通过DFS或者拓扑排序来完成,笔者采用的是DFS的方式。具体的思路为:对图进行DFS,在每一个没有被访问的过的结点做...
  • 有n个顶点的有向图,至少需要多少条弧才能保证是连通的。我看了有个学长写的答案是n,我觉得n不可能正确。我的想法是要保证连通,得是n-1个点构成一个有向图的强连通图,那么弧数就是(n-1)*(n-2) 再将剩下的那个节点...
  • Matlab中根据邻接矩阵做图 function tu_plot(rel,control) ...%第二个输入为控制量,0表示无向图,1表示有向图。默认值为0 r_size=size(rel); if nargin<2 control=0; end if r_size(1)~=r_size(2) di...
  • 【图】用python实现有向图

    千次阅读 2020-06-06 15:33:09
    通过临界表的方式实现了结构 class Vertex(object): """ 节点对象 """ def __init__(self, key): self.key = key self.connectedTo = {} # 存放指向的其它节点,以Vertex:连接边weight的 def addNeighbor...
  • 有向图 无向图 欧拉路 欧拉图

    千次阅读 2018-11-03 19:56:05
    如果图G中的一个路径...有向图: 欧拉回路:图连通,所有节点的出度等于入度。 欧拉路:图连通,所有节点的出度等于入度;或者除两个节点以外的其余节点的入度和出度都相等,且这两个节点一个满足出度-入度==1,...
  • 有向图和无向图以及拓扑的复习

    千次阅读 2018-10-14 17:43:36
    1)关于有向图,百科中是这样描述的:一个有向图D是指一个有序三元组(V(D),A(D),ψD),其中ψD为关联函数,它使A(D)中的每一个元素(称为有向边或弧)对应于V(D)中的一个有序元素(称为顶点或点)对。 理解:如图D,...
  • DFS在无向图和有向图的区别

    千次阅读 2019-06-13 16:34:21
    https://www.cnblogs.com/qzhc/p/10291430.html
  • 有向图的连通性

    千次阅读 2020-04-21 16:17:47
    文章目录 无向图: ...单向连通:有向图中,任意结点对中,至少从一个到另一个是可达的,就是单向连通。 强连通:有向图中,强连通图是任意对中都互相可达。 PS:弱连通图不一定是单向连通。 ...
  • 有向图的环和有向无环图

    千次阅读 2018-07-25 07:10:00
    本篇主要分享关于有向图的环和有向无环图(DAG,估计做大数据的同学到处都可以看到),所以相关概念我就不做详细介绍了。 用有向图中各个节点代表着一个又一个的任务,...
  • 有向图的遍历

    千次阅读 2019-08-15 14:38:46
    有向图邻接表的建立初始化 #include<stdio.h> #include<stdlib.h> #include<string.h> #define Maxsize 20 #define MAX_VEX 20 #define Vex 4 #define Arc 4 typedef enum{ DG=1,AG,WDG,WAG//...
  • 图论算法——dfs求有向图和无向图两点间所有路径

    千次阅读 多人点赞 2019-06-12 09:28:24
    DFS作为搜索算法,最常用于,对图的遍历,探寻路径,甚至是求一些情况下的最短路。我在这里就介绍一下dfs求两点的的所有路径,这个算法最开始在数据结构大作业里面用到了,当时费了一番劲写出来后,就想oj题里面...
  • 前言: 数学中,“图论”研究的是定点和边组成的图形。 计算机中,“网络拓扑”是...有向图 两个节点之间只有一条线相连接,且有方向。方向可以单向,也可以双向。 多重图 两个节点之间只有多条线相连接。 ...
  • 判断有向图是否有环

    千次阅读 2019-04-08 20:35:41
    1.计算中所有点的入度,把入度为0的点加入栈 2.如果栈非空: 取出栈顶顶点a,输出该顶点值,删除该顶点 从中删除所有以a为起始点的边,如果删除的边的另一个顶点入度为0,则把它入栈 3.如果中还存在顶点,则...
  • 判断无向图/有向图中是否存在环

    千次阅读 2019-02-03 11:54:50
    本文主要针对如何判断有向图/无向图中是否存在环的问题进行简单的论述。 一 无向图 1.利用DFS进行判断 利用DFS判断有向图是否存在环,是最为常用的一种方法,虽然这种方法很常用,但可参考的代码的实现比较少,...
  • 图8——判断有向图中是否有根

    千次阅读 2019-06-23 21:46:35
    有向图G中,如果r到G中每个结点都有路径可达,则称结点r为G的跟结点。编写一个算法判断有向图G中是否有根,如果有则打印出所有根节点的值。 【分析】 这是东北大学和浙江大学的考研试题。主要考查对图的深度优先...
  • 有向图找环

    千次阅读 2019-01-28 15:15:13
    //有向图找环 dfs using namespace std; int map[100][100]={0}; //邻接矩阵 int visit[100]={0}; // 状态数组 int path[100]; //环的元素 int m=0; int v=30; //点的个数 /* visit数组表示当前点的状态 0 ...
  • 有向图的深度和广度遍历

    万次阅读 2018-05-04 09:33:26
    对于下图所示的有向图(访问顺序按序号从小到大),试写出: (1) 从顶点①出发进行深度优先搜索所得到的深度优先生成树;(2) 从顶点②出发进行广度优先搜索所得到的广度优先生成树。 package com.test.tree; ...
  • 的邻接矩阵表示
  • 有向图邻接表

    千次阅读 2019-01-11 18:18:09
    邻接表有向图是指通过邻接表表示的有向图有向图可以理解为一种数据结构,处理特定场景的问题会比较简单 对于java来说,用map实现有向图比较便于进行查找操作。 实现有向图这种数据结构并不困难,难的是如何...
  • 有向图的入度

    千次阅读 2018-12-24 19:46:41
    有向图G的顶点值为字符型且互不相等,采用邻接矩阵存储。请输出给定顶点的入度。 Input 有多组测试数据,每组的第一行为两个整数n和e,表示n个顶点和e条边(0&lt;n&lt;20);第二行为n个顶点的值,按输入...
  • 有向图中的所有环--深度遍历暴力求解

    万次阅读 多人点赞 2020-04-02 14:00:33
    华为软件精英挑战赛2020题目 暴力求解了一下,方便理解题目。。。 每个点都进行深度遍历,找到以这个点为起点的环。。。数据再大一点应该就不行了。。。 代码写得烂,仅供参考。。 ...g...
  • 【三种解法】判断有向图是否有环

    千次阅读 2020-07-17 12:03:38
    我们最常用的是topsort来判断是否环,因为这个方法简单。 我去网上找了很多关于如何用dfs来判断的算法,可谓五花八门且很容易被hack掉。 以上,所以写这篇文章来总结一下我知道的且常用有效的三种判断方法。 ...
  • 获取有向图所有路径

    千次阅读 2019-06-19 13:38:24
    项目通过jsplumb构建出有向图,业务需要可能需要根据当前节点获取上一个节点,数据库只保留node信息和edge信息,所以需要用到edge所有数据来反推出整个图。并且快速实现业务上变动的需求。 解决思路 通过遍历edge...
  • 图5——判断有向图中是否存在回路

    千次阅读 2019-06-22 09:32:13
    假设以邻接矩阵作为图的结构,编写算法,判别在给定的有向图中是否存在一个简单的有向回路,若存在,则以顶点序列的方式输出该回路(找到一条即可)(注意:图中不存在顶点到自身的弧) 这是清华大学的考研试题。...

空空如也

1 2 3 4 5 ... 20
收藏数 66,786
精华内容 26,714
关键字:

有向图