关于 vector 指针式&下标式遍历
  • 板块学术版
  • 楼主云浅知处はなび
  • 当前回复5
  • 已保存回复5
  • 发布时间2020/10/25 18:43
  • 上次更新2023/11/5 09:53:54
查看原帖
关于 vector 指针式&下标式遍历
307453
云浅知处はなび楼主2020/10/25 18:43

比如我们要对一棵有根树进行 DFS\texttt{DFS},使用邻接表 vector 存储树,像这样:

vector<int>v[100005];//存树
int d[100005];//深度
void DFS(int u,int fa,int dep){
    d[u]=dep;
    for(int i=0,s=v[u].size();i<s;i++){
        if(v[u][i]==fa)continue;
        DFS(v[u][i],u,dep+1);
    }
}

那么,5-8 行应该可以换成:

if(!v[u].empty()){
    for(vector<int>::iterator it=v[u].begin();it!=v[u].end();it++){
        if(*it==fa)continue;
        DFS(*it,u,dep+1);
    }
}

请问这两种哪个快啊QAQ

2020/10/25 18:43
加载中...