摘要:
具有n 个顶点的无向连通图至少有n-1 条边,如果只有n-1 条边,则不会形成环,这样的图称为“生成树”。连通图可通过遍历构造生成树,非连通图的每个连通分量可构造一棵生成树,整个非连通图构造为生成森林。algo7-1.cpp 调用算法7.7、7.8,将无向图构造为生成森林,并以孩子—兄弟二叉链表存储... 阅读全文
摘要:
图有2 个基本操作:FirstAdjVex(G,v)和NextAdjVex(G,v,w)。FirstAdjVex(G,v)返回图G 中顶点v 的第1 个邻接顶点(在图中的位置)。在邻接矩阵存储结构中,返回邻接矩阵G.arcs.adj 中v 所对应的行的第1 个值为1(图)或权值(网)的顶点(在图中的... 阅读全文
摘要:
图的遍历对图的搜索就是对图中顶点的遍历。图中各顶点的关系比较复杂、一个顶点可能有多个邻接顶点,也可能是独立顶点(非连通图)。为了不重复地访问所有顶点,需设立一个访问标志数组visited[],并置其初值为FALSE(未被访问)。遍历时只访问那些未被访问过的顶点,且在访问后,将其访问标志的值改为TRU... 阅读全文
摘要:
// c7-4.h 无向图的邻接多重表存储结构(见图7.42)#define MAX_VERTEX_NUM 20enum VisitIf{unvisited,visited};struct EBox{ VisitIf mark; // 访问标记 int ivex,jvex; // 该边依附的两个顶点... 阅读全文
摘要:
// c7-3.h 有向图的十字链表存储结构(见图7.33)#define MAX_VERTEX_NUM 20struct ArcBox // 弧结点{ int tailvex,headvex; // 该弧的尾和头顶点的位置 ArcBox *hlink,*tlink; // 分别为弧头相同和弧尾相同... 阅读全文