摘要: 1.Kruskal算法A表示最小生成树所有边的集合.思路:将所有边按照权重从小到大排序,依次从中选择最小的边,若边的两个结点不在同一棵树中,就将这条边加入A.伪代码:Kruskal(G,w) A = ∅ for each vertex v in G.V MAKE-SET(v... 阅读全文
posted @ 2015-04-05 22:03 fosmj 阅读(268) 评论(0) 推荐(0)
摘要: 算法核心:两个结点之间的一条最短路径包含着(包含于)其它的最短路径.[最短路径性质]1.单源最短路径Dijkstra思路:计算每个结点到源结点的距离,压入最小优先队列Q,对Q中的元素进行如下循环操作:1.从队列Q中弹出最小元素u2.将u并入S3.对u的邻接表中每个结点v,调用Relax(u,v,w)... 阅读全文
posted @ 2015-04-05 20:31 fosmj 阅读(378) 评论(0) 推荐(0)
摘要: 1.图的表示a.邻接矩阵:适合稠密图(|E|接近|V|2)//用二维数组表示邻接矩阵int G[|V|][|V|];//初始化for(int i=0;i Adj;//所有顶点};//初始化void AddEdge(Graph &G,int i,int j,int weight,int w[][|V|... 阅读全文
posted @ 2015-04-05 18:53 fosmj 阅读(426) 评论(0) 推荐(0)