当前位置: 首页 > wzjs >正文

什么后台做网站安全河南网站顾问

什么后台做网站安全,河南网站顾问,企业建设网站的策划流程,怎样用css做网站如果一个无向图有 $n\times (n-1)\div 2$ 条边,称为**完全图** 如果一个完全图任意两个点都可以互相到达,称为**连通图** 一个包含 $dfs$ 与 $bfs$ 的图的遍历程序 程序可做到的: 1、每一行输出一个 **搜索树** 2、$dfs$ 与 $bfs$ 并存 c…

如果一个无向图有 $n\times (n-1)\div 2$ 条边,称为**完全图**

如果一个完全图任意两个点都可以互相到达,称为**连通图**


一个包含 $dfs$ 与 $bfs$ 的图的遍历程序

程序可做到的:

1、每一行输出一个 **搜索树**

2、$dfs$ 与 $bfs$ 并存


```cpp
#include<iostream>
#include<vector>
#include<queue>
using namespace std;
int n,m;//有n个节点,m条边 
vector<int> a[1005];
bool vis[1005];

void dfs(int u)
{
    vis[u] = true;
    cout<<u<<' ';
    for(int i=0;i<a[u].size();i++)
    {
        int v = a[u][i];
        if(vis[v]==false)
        {
            dfs(v);
        }
    }
}

void bfs(int u)
{
    queue<int> q;
    q.push(u);
    vis[u] = true;
    
    while(q.size())
    {
        u = q.front();
        cout<<u<<' ';
        q.pop();
        for(int i=0;i<a[u].size();i++)
        {
            int v = a[u][i];
            if(vis[v]==false)
            {
                q.push(v);
                vis[v] = true;
            }
        }
    }
}

int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        int u,v;
        cin>>u>>v;
        
        a[u].push_back(v);
        a[v].push_back(u);    
    }    
    
    for(int i=1;i<=n;i++)
    {
        if(vis[i]==false)
        {
            //dfs(i);
            bfs(i);
            cout<<endl;
        }
    }
    return 0;
}
```


实际上,也可以用 $list$ 链表,也就是前向星,它避免了缺点收集了优点

```cpp
#include<iostream>
#include<cstring>
using namespace std;
const int N = 1e4+5;
struct node
{
    int u;
    int v;
    int next;    
}a[N];
int n,m;//m条边,节点的编号为1~n
int tot;
int head[N];
int vis[N];

void add(int u,int v)
{
    a[++tot].u = u;
    a[tot].v = v;
    a[tot].next = head[u];
    head[u] = tot;
}

void dfs(int u)
{
    cout<<u<<' ';
    vis[u] = true;
    
    for(int i=head[u];i!=-1;i=a[i].next)
    {
        int v = a[i].v;
        if(vis[v]==false)
        {
            dfs(v);
        }
    }
}

int main()
{
    memset(head,-1,sizeof(head));
    cin>>n>>m;
    for(int i=1;i<=m;i++)//m条边
    {
        int u,v;
        cin>>u>>v;
        
        add(u,v);
        add(v,u);
    }
    
    for(int i=1;i<=n;i++)
    {
        if(vis[i]) continue;
        dfs(i);
        cout<<endl;
    }
    return 0;
}
```

然后就是判环代码,实际上就是看当前 $u$ 节点是否被访问过即 $vis[u]==true$ ,但注意父节点不要误判为环了


```cpp
#include<iostream>
#include<vector>
#include<queue>
using namespace std;
int n,m;//有n个节点,m条边 
vector<int> a[1005];
bool vis[1005];

void dfs(int u,int f)
{
    vis[u] = true;
//    cout<<u<<' ';
    for(int i=0;i<a[u].size();i++)
    {
        int v = a[u][i];
        if(vis[v]==false) dfs(v,u);
        else if(v!=f)
        {
            cout<<"have circle";
            exit(0);
        }
    }
}

int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        int u,v;
        cin>>u>>v;
        
        a[u].push_back(v);
        a[v].push_back(u);    
    }    
    
    for(int i=1;i<=n;i++)
    {
        if(vis[i]==false)
        {
            dfs(i,-1);
        }
    }
    cout<<"have no circle";
    return 0;
}


```

很明显,上面的代码是一个无向图的代码,所以我再编写一个有向图的


```cpp
#include<iostream>
#include<vector>
#include<queue>
using namespace std;
int n,m;//有n个节点,m条边 
vector<int> a[1005];
int vis[1005];
/*定义vis[i]为i节点的访问状态,0=未访问,1=正在访问,-1=访问过且已经结束*/

void dfs(int u)
{
    vis[u] = 1;
//    cout<<u<<' ';
    for(int i=0;i<a[u].size();i++)
    {
        int v = a[u][i];
        if(vis[v]==0) dfs(v);
        if(vis[v]==1)
        {
            cout<<"have circle";
            exit(0);
        }
    }
    vis[u] = -1;
}

int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        int u,v;
        cin>>u>>v;
        
        a[u].push_back(v);//这是一个有向图 
        //a[v].push_back(u);    
    }    
    
    for(int i=1;i<=n;i++)
    {
        if(vis[i]==0) dfs(i);
    }
    cout<<"have no circle";
    return 0;
}
```

http://www.dtcms.com/wzjs/501856.html

相关文章:

  • wordpress 图片保护关键词优化公司排名榜
  • 敏感网站用什么浏览器淘宝流量
  • 怎么样做网站爬虫樱桃bt官网
  • 成都学校网站制作武汉最新消息今天
  • 四川省建设工程招标网官网专业优化网站排名
  • 政府网站建设工作的自查报告哪里有免费的网站推广服务
  • 做课展网站seo是什么意思电商
  • 网站开发软件技术专业好吗百度客服24小时人工服务
  • 做外贸网站哪家效果好学seo优化
  • 欧美网站设计特点seo工资一般多少
  • 用node做的网站sem竞价
  • 望京做网站静态网页设计与制作
  • 广州网站运营专业乐云seoseo初学教程
  • 平面设计网课培训有用吗爱站网seo工具包
  • 网站备案进度查询营销平台
  • 网站制作公司小邓长春做网络优化的公司
  • 创建网站 英文广告营销策略
  • 中央广播电视总台央视少儿客户端深圳网络优化推广公司
  • 自己本地可以做网站服务器能去百度上班意味着什么
  • 商标注册在哪个部门申请海外aso优化
  • wordpress文章框seo运营人士揭秘
  • 南通开发区:高质量发展百度seo搜索引擎优化方案
  • 做网站互联网公司排名软文代写费用
  • 国外vps私人网站优化排名软件推广
  • 学校校园网站建设方案深圳网站关键词排名优化
  • 宁夏做网站建设公司百度引擎入口
  • 上海电子通科技网站建设网站下载
  • 手机网站页面布局游戏推广对接平台
  • 室内设计ppt模板免费东莞关键词排名快速优化
  • 宁波网站建设招商加盟输入关键词进行搜索