003

    xiaoxiao2021-03-25  51

    深度优先搜索

    void dfs(int x) { cout<<x<<‘ ‘; visited[x]=1; for(int k=1;k<=n;k++) if((a[x][k]==1)&&(visited[k]==0)) dfs(k); } 广度优先搜索

    void bfs(void) { for(v=1;v<=n;v++) visited[v]=0; for(v=1; v<=n; v++) if(visited[v]==0 ) { int h=1,r=1; visited[v]=1; cout<<v<<‘ ‘; q[r]=v; while(h<=r) { int tmp=q[h]; for(int j=1;j<=n;j++) if((visited[j]==0)&&(a[tmp][j]==1)) { visited[j]=1; cout<<j<<‘ ‘; r++; q[r]=j; } h++; } } }

    转载请注明原文地址: https://ju.6miu.com/read-38090.html

    最新回复(0)