首先今天学习了拓扑排序和欧拉路。还附带学习了并查集和字典树,其实也不能说学习,拓扑排序,并查集,字典树,这几个知识,之前已经学习过一点基础了,有关这些题的模板题都做过了,最简单的用法也会一些,只能说今天复习和拓展了一下这些知
识。
拓扑排序,模板代码的写法,前几天就学习和写过了,今天主要是学习一下应用,看了很多题,它一般是求一个图是否是全序,拓扑序,无序,等,这个必须要用到模板,但是需要做不少修改,获得几个变量,进行一下控制,来判断是否是以上图。
欧拉图,判断是否是欧拉图之前一般都要判断是否连通,或者有向图的弱连通,这一般用并查集来判断,不论是有向图,还是无向图,在判断是否是欧拉图时,都与度数(入度,出度)有关,所以,要有个数组存度数,在输出时进行条件判断。
并查集。首先由很多基本操作,求连通性,求联通分量,求最少增加几条边使图联通。还有维护根节点信息和路径压缩题,这两个题差不多,都是在并查集合并时增加一步操作,维护一个东西。这个路径压缩感觉和看强连通图的时候的缩点由异曲同工之妙。
字典树。大多用来查找单词的树。有几个经典题型。
其他的还有些字典树和其他知识点结合的题比如字典树+dp,字典树+dfs的题。