• 2022-06-15
    无向图采用邻接表存储结构,编写算法输出图中各连通分量的顶点序列。
  • void CC_BFS(ALGraph G) { int visited[G.vexnum];// 访问标志数组 for (int v = 0; v [ G.vexum; v++) // 访问标志数组初始化 visited[v] = false; initQueue(Q);// 辅助队列Q initQueue(P);// 辅助队列P,用于记录连通分量的顶点 int i = 0;// 用于记数连通分量的个数 for (int v = 0; v < G.vertexnum; v++) { clearQueue(P);// 队列清空 if (!visited[v]) {// v尚未访问 visited[v] = true; push(P,G.vextex[v]); push(Q,v);// v入队列 while (!Q.isEmpty()) { pop(Q,u);// 队头元素出队列并赋值给u for (int w = G.firstAdjVex(u); w ]= 0; w = G.nextAdjVex(u, w)) { if (!visited[w]) {// w为u的尚未访问的邻接顶点 visited[w] = true; push(P,G.vextex[w]); push(Q,w);// w入队列 } } } cout<<"图的第" << ++i << "个连通分量为:"; while (!P.isEmpty()) { pop(p,u); cout << u<<” ”; } cout <

    内容

    • 0

      假设图[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]采用邻接表存储,设计一个算法求无向图[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]的连通分量个数。

    • 1

      假设图[tex=0.786x1.0]JTRtgqQ00R3dUQzwS4iwbg==[/tex]采用邻接表存储,编写一个算法输出其邻接表。

    • 2

      假设一个连通图采用邻接表作为存储结构,试设计一个算法,判断其中是否存在经过顶点v的回路

    • 3

      【图课后习题三算法设计题】 (5)采用邻接表存储结构,编写一个算法,判别无向图中任意给定的两个顶点之间是否存在一条长度为为k的简单路径。

    • 4

      采用邻接表存储结构,编写一个算法,判别无向图中任意给定的两个顶点之间是否存在一条长度为为 k 的简单路径。