链表找环最经典的就是快慢指针。而今天的主角也是它了。快慢指针的思路就是,同时起跑的乌龟和兔子,若赛道无环,则永不相遇,反之则会相遇。那么我们假定兔子速度是乌龟的2倍。乌龟和兔子在环中某点相遇,有以下等式:2*x=x+n*k 其中x是乌龟走过的路程,n是兔子绕的圈数,k是圈长。等式变换 x=n*k,理...
分类:
编程语言 时间:
2015-05-07 00:30:45
阅读次数:
134
强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量。
把一个图变为一个强连通图需要添加边数:先求出原图的强连通分量,缩点后变为有向无环图,计算新图入度为0的点的个数SumIn和出度为0的点的个数SumOut,...
分类:
其他好文 时间:
2015-05-05 14:32:38
阅读次数:
188
1 /* 2 TopoSort:拓扑排序 3 in[]:每个点的入度; ans[]:排序后的结果; 4 return:true:有环;false:无环 5 */ 6 bool TopoSort(void) 7 { 8 memset (in, 0, sizeof...
分类:
编程语言 时间:
2015-05-04 11:50:59
阅读次数:
213
应用背景学生选修课程问题
顶点——表示课程
有向弧——表示先决条件,若课程i是课程j的先决条件,则图中有弧(i,j)
学生应按怎样的顺序学习这些课程,才能无矛盾、顺利地完成学业——拓扑排序 拓扑序列是有向无环图中各顶点构成的有序序列。该序列满足如下条件:如果图中一顶点vi到另一顶点vj存在一条路径,那么vj在此图的拓扑排序序列中位于vi之后。
有向无环图(DAG)和 AOV网有向无环图...
分类:
编程语言 时间:
2015-05-03 10:42:34
阅读次数:
253
拓扑排序是对ADG(有向无环图进行线性排序)模板:队列实现#include#include#include#includeusing namespace std;int indegree[100];queue q;int n,m;bool map[100][100];int a[100];int t...
分类:
编程语言 时间:
2015-05-01 21:14:34
阅读次数:
226
AOE网上的关键路径Time Limit: 1000ms Memory limit: 65536K有疑问?点这里^_^题目描写叙述 一个无环的有向图称为无环图(Directed Acyclic Graph),简称DAG图。 AOE(Activity On Edge)网:顾名思义,用边表示活动的网,当...
分类:
其他好文 时间:
2015-05-01 19:56:11
阅读次数:
200
滑雪场坐落在FJ省西北部的若干座山上。从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道),弧的方向代表斜坡下降的方向。你的团队负责每周定时清理雪道。你们拥有一架直升飞机,每次飞行可以从总部带一个人降落到滑雪场的某个地点,然后再飞回总部。从降落的地点出发,这个人可以顺着斜坡向下滑行...
分类:
其他好文 时间:
2015-04-28 16:01:33
阅读次数:
181
上一节结束后,我们已经可以判断链表是否有环了,如果无环,那么按照前两节所讲的方法去判断链表是否相交以及获取相交结点,如果有环呢?怎么判断是否相交?...
分类:
编程语言 时间:
2015-04-27 09:47:19
阅读次数:
160
前两篇讨论的前提都是链表是无环的,但是如果链表有环呢?...
分类:
编程语言 时间:
2015-04-27 09:46:18
阅读次数:
132
从此篇博文开始,讲解一道古老的链表相交问题,共五篇...
分类:
编程语言 时间:
2015-04-26 11:00:53
阅读次数:
185