数据结构第12周作业(图、AOV网与拓扑排序)

在这里插入图片描述

1.

邻接矩阵:
( 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 ) \left(\begin{array}{lllll} 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 \\ 0 & 1& 0 & 1 & 0 \\ 0& 0 & 1 & 0 & 1 \\ 1 & 0 & 0 & 0 & 0 \end{array}\right) 0000110100100100010001010
邻接表

2.
void Visit(A, n, v){   
    for (i = 1; i<=n; i++) Visited[i] = 0;
    f = 0;     r = 1;  
    Q[r] = v;  Visited[v] = 1;
    while (f<r){  
        u = Q[++f];   printf(u);      // 访问顶点u //
        for (j=1; j<=n;  j++)
            if (A[u][ j]==1 &&  Visited[j]==0)
            { Visited[j] = 1;   Q[++r] = j;  }  // 入队 //
    };    // 遍历结束 //
};

在这里插入图片描述

3.
void Total(Adjlist, n, od, id);
{    for (i = 1; i<=n; i++ ) 
        { od[i] = 0; id[i] = 0;  }  //置0//
     for (i = 1; i<=n; i++ ) 
  {    p = Adjlist[i];
       while (p!=0)
       {   od[i] = od[i] + 1;
          id[p->Vertex] = id[p->Vertex] + 1;
      }  // End of while //
   }  // End of for //
}
4.

强连通分量是有三个,{1}、{2,3,4,5}和{6}

5.
void Topo_Order(int Count[n], Vertext, Adjlist, n){
    Top = 0;    // Count[1..n]表示顶点的度  //
    for(j = 1, j<=n, j++)
        if(Count[j] == 0){ 
            Count[j] = Top;  
            Top = j;  
        }
    while(top>0){
        j = Top;             
        Top = Count[Top];
        printf(Vertex[j]);    
        p = Adjlist[j];
        while (p !=0){ 
            k = p->Vertex;     
            Count[k] = Count[k]1;
            if (Count[k] == 0){ 
                Count[k] = Top;        
                Top = k;  
            }
            p  = p->Link;
        }
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cachel wood

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值