最大基环内向树

一、基环内向树性质:

1.是一个图,而不是一个树

2.所有节点的出度均为1

3.环外的节点指向环内的节点

二、如何找出基环内向树:

拓扑排序:记录所有节点的入度,拓扑排序后,入度为1的节点为环中的节点。

代码中g[i]代表i->g[i]的一条有向边

    queueq;
      for(int i=0;i

三、最大内向基环树:

遍历拓扑排序后所有入度不为0的点,即可找出最大内向基环树。

遍历过程中注意,因为入度都为1,因此遇到一个结点可以直接将其入度置为0,防止重复遍历。

 for(int i=0;i

你可能感兴趣的:(图论,c++)