求助
  • 板块灌水区
  • 楼主myChen
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/11/6 07:36
  • 上次更新2023/11/6 14:12:46
查看原帖
求助
452406
myChen楼主2023/11/6 07:36

给定一个无向的树,希望你能求出这颗树字典序最小 先序遍历。 你可以任意选择一个点作为起点,当你在一个节点时,你只能访问你未被访问的邻居节点。 你可以自由地安排访问邻居节点的顺序。当你访问完一个节点所有的邻居结点之后,将当前节 点的标号写入当前的先序遍历序列的尾部。 下面给出访问过程的伪代码,G 用来储存一个节点的邻居:

1 vector<int> G[N] , order ;
2 bool v i s [N] ;
3 void dfs ( i n t u) {
4 	vis [ u ] = true ;
5 	for ( int v : G[ u ] ) {
6 		i f ( v i s [ v ] ) continue ;
7 		dfs( v ) ;
8 	}
9 	order . push_back (u ) ;
10 }

其中 order 则为所求的先序遍历序列。你需要求出可能的字典序最小的先序遍历序列。

RT,同时想问 为什么先序遍历是先遍历子树再输出 做的时候看错题目了()

2023/11/6 07:36
加载中...