zoukankan      html  css  js  c++  java
  • 2107=数据结构实验之图论二:图的深度遍历

     1 #include <stdio.h>
     2 #include <string.h>
     3 int map[100][100];
     4 int visit[100];
     5 int k,n;//k在这里定义防止在DFS函数中再次定义使代码繁琐。
     6 void DFS(int t)//DFS函数(深度优先搜索)。
     7 {
     8     int i;//t表示此时我们处于哪个“点”。
     9     visit[t]=1;//将数组中的值变为1,表示已经搜索过。
    10     for(i=0;i<k;i++)//从0开始即先遍历节点编号小的。
    11     {
    12         if(map[t][i]==1&&visit[i]==0)//当此点可以通过并没有搜索过时,输出此点。
    13         {
    14             printf(" %d",i);
    15             DFS(i);//递归。
    16         }
    17     }
    18 }
    19 int main()
    20 {
    21     int T,i;
    22     int a,b;
    23     scanf("%d",&T);
    24     while(T--)
    25     {
    26         memset(map,0,sizeof(map));
    27         memset(visit,0,sizeof(visit));//将两个数组中的数据全部初始化为0。
    28         scanf("%d %d",&k,&n);
    29         for(i=0;i<n;i++)
    30         {
    31             scanf("%d %d",&a,&b);//a,b两个暂时储存数据。
    32             map[a][b]=map[b][a]=1;//因为是无向边,路径为双向,并在二维数组中将两点的值变为1,表示可以通过。
    33         }
    34         printf("0");//0作为起始点,直接输出,在DFS函数中从0开始搜索。
    35         DFS(0);
    36         printf("
    ");
    37     }
    38     return 0;
    39 }
  • 相关阅读:
    业务逻辑安全之登陆认证模块
    linux下的tcpdump
    wirshark使用(二)
    wirshark 使用(一)
    MVC框架的代码审计小教程
    记一次发卡网代码审计
    HTML知识点(一)
    jQuery基础、效果和事件
    Ajax知识(二)
    jQueryHTML和插件、display和overflow和visibility的区别
  • 原文地址:https://www.cnblogs.com/Angfe/p/10392529.html
Copyright © 2011-2022 走看看