图论算法总结(一)――图的遍历
关于数据结构,主要是有关树和图是最终的难点和痛点,关于算法,记住名字很简单,记住原理要花一点时间,如何内化为自己本身的知识,以及,在脑中有思路,随拿随用,这个需要特定的记忆方式。如果不能即拿即用,并不能说自己了解这个算法。建议大家,以自己的思维为中心,记住该思维的逻辑的同时,也记住该思路的代码,把算法内化为自己的修养。 参考博文:) 按照深度优先方式访问未访问的节点 dfs ( u ){ vis [ u ]= true ; for (从 u 出发能到达的所有顶点 v ) if ( vis [ v ]== false ) dfs ( v ); } dfsTrave ( G ){ for ( G 的所有节点 u ) if ( vis [ u ]== false ) dfs ( u ) } //邻接矩阵 void dfs ( int u ){ vis [ u ]= 1 ; printf ( "%d" , u ); for ( int i = 0 ; i < vertxNum ; i ++) if ( vis [ i ]== 0 && path [ u ][ i ]== 1 ) dfs ( i ); } void dfsTrave (){ for ( int i = 0 ; i < vertxNum ; i ++) if ( vis [ i ]== false ) dfs ( i ); }