2019年2月19日
摘要: 定义:在一张有向图中,两个点可以相互到达,则称这两个点强连通;一张有向图上任意两个点可以相互到达,则称这张图为强连通图;非强连通图有极大的强连通子图,成为强联通分量。 如图,{1},{6}分别是一个强连通分量,{2,3,4,5}是一个强连通分量。而Tarjan算法可用于求解强连通分量。 Tarjan 阅读全文
posted @ 2019-02-19 15:32 僚机 阅读(226) 评论(0) 推荐(0) 编辑
  2019年2月16日
摘要: 在并查集中,我们一般做的操作是,把一个集合加入到另一个集合中,从而在查询时,可以高效的查询两个元素的关系。但是有的时候,我们希望可以进行删除操作,就是把一个 点,从一个集合中删除,但是并不影响跟这个点有关系的其他点之间的关系。如图: 当我们删除2号节点后,2号节点成为一个独立的集合,但是,1,3,4 阅读全文
posted @ 2019-02-16 11:07 僚机 阅读(2125) 评论(1) 推荐(2) 编辑
摘要: 并查集所维护的是一种所属关系,通过并查集最快可以在O(1)的时间里查询到两者的关系,但有的时候,关系并不是特别简单。我们要维护除了关系外的一些别的东西。比如关系的类型,比如到根的距离等等。 例题一:食物链 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B 吃 C, 阅读全文
posted @ 2019-02-16 01:01 僚机 阅读(702) 评论(0) 推荐(0) 编辑