最小生成树
    给定一无向带权图,顶点数是n,要使图连通只需n-1条边,若这n-1条边的权值和最小,则称有这n个顶点和n-1条边构成了图的最小生成树(minimum-cost spanning tree)。
Prim算法
    Prim算法是解决最小生成树的常用算法。它采取贪心策略,从指定的顶点开始寻找最小权值的邻接点。图G=,初始时S={V0},把与V0相邻接,且边的权值最小的顶点加入到S。不断地把S中的顶点与V-S中顶点的最小权值边加入,直到所有顶点都已加入到S中。...
                            
                            
                                分类:
其他好文   时间:
2014-08-05 00:39:08   
                                阅读次数:
313
                             
                         
                    
                        
                            
                            
                                欧拉回路第一题TVT本题的一个小技巧在于:【建立一个存放点与边关系的邻接矩阵】1.先判断是否存在欧拉路径无向图:欧拉回路:连通 + 所有定点的度为偶数欧拉路径:连通 + 除源点和终点外都为偶数有向图:欧拉回路:连通 + 所有点的入度 == 出度欧拉路径:连通 + 源点 出度-入度=1 && 终点 入...
                            
                            
                                分类:
其他好文   时间:
2014-08-04 23:57:58   
                                阅读次数:
588
                             
                         
                    
                        
                            
                            
                                题目:人生有很多选择,现在给你一些选择(0~n-1),和每个选择分支后面的其他选择序号,求选择总数。
分析:dp,图论。如果某状态的后续选择个数是0个则,代表死亡,统计所有到达死亡的路径条数即可。
            用一个状态数组记录到达每个选择的路径数,它等于能到达它的前驱节点的路径加和。
            稀疏图,使用邻接表储存。初始是节点0的路径条数为1,代表出生。
说明...
                            
                            
                                分类:
其他好文   时间:
2014-08-04 17:53:57   
                                阅读次数:
199
                             
                         
                    
                        
                            
                            
                                图的遍历也称为搜索,就是从图中某个顶点出发,沿着一些边遍历图中所有的顶点,且每个顶点仅被访问一次,遍历可采取两种不同的方式:深度优先搜索(DFS)和广度优先搜索(BFS)。1.DFS算法思想` 从顶点v出发深度遍历图G的算法 ① 访问v0顶点,置vis[v0]=1,搜索v0未被访问的邻接点w,若.....
                            
                            
                                分类:
其他好文   时间:
2014-08-04 10:30:47   
                                阅读次数:
305
                             
                         
                    
                        
                            
                            
                                邻接矩阵:#include #include #include using namespace std;#define min(a,b) a s;void dfs(int u){ Edge t,tt; dfn[u]=low[u]=++tmpdfn,visit[u]=1; for(i...
                            
                            
                                分类:
其他好文   时间:
2014-08-03 15:07:56   
                                阅读次数:
256
                             
                         
                    
                        
                            
                            
                                如图,求V0到其他顶点的最短路径及其长度,  
     
     废话少说,用Dijkstra算法。我在《数据结构(C语言版)》里面的代码的基础上写了一个直接保存路径的版本。看代码,
#include
#include
using namespace std;
#define MAXINT 1000000
// src -- 为源节点
// g[][] -- 有向图的邻接矩阵
//...
                            
                            
                                分类:
其他好文   时间:
2014-08-02 18:31:54   
                                阅读次数:
321
                             
                         
                    
                        
                            
                            
                                图的遍历是指从图中的某一顶点出发,按照一定的策略访问图中的每一个顶点。当然,每个顶点有且只能被访问一次。
在图的遍历中,深度优先和广度优先是最常使用的两种遍历方式。这两种遍历方式对无向图和有向图都是适用的,并且都是从指定的顶点开始遍历的。先看下两种遍历方式的遍历规则:
深度优先
深度优先遍历也叫深度优先搜索(Depth First Search)。它的遍历规则:不断地沿着顶点的深度方向遍历。顶点的深度方向是指它的邻接点方向。...
                            
                            
                                分类:
其他好文   时间:
2014-08-02 12:53:33   
                                阅读次数:
266
                             
                         
                    
                        
                            
                            
                                ~当k=0时,我们关注的是邻接矩阵的第0行和第0列,即顶点0的入边和出边;考察矩阵中其他元素,如果元素D[i][j]向第0行和第0列的投影D[0][j]和D[i][0]都有值,就说明原图中从 i 到 j 存在一条经过顶点0的有向路径 i -> 0 -> j,这样的路径包含的边数不会超过2,如果其权值...
                            
                            
                                分类:
其他好文   时间:
2014-08-02 04:01:02   
                                阅读次数:
187
                             
                         
                    
                        
                            
                            
                                题目链接题意:在有费用k限制的条件下,求从1到n的最短距离,如果最短距离相同求费用最小的,边为有向边,其中可能有多个相同的源点和目标点,但是距离和费用不同。分析:用bfs和邻接表来把每一个边搜一下,因为用了优先队列,所以先到n的一定是最小的 。 1 #include 2 #include 3 #.....
                            
                            
                                分类:
其他好文   时间:
2014-08-01 22:59:42   
                                阅读次数:
247