参考 https://blog.csdn.net/wd1603926823/article/details/128782281 可知:
对于答案A:
1入;
1出,3入;
3出,5入;
5出,4入;
4出,2入;
2出,6入;
6出,7入;
7出。 顶点已出完,结束搜索。
所以顺序是:1 3 5 4 2 6 7
对于答案B:顶点3 后还有接班人5 ,而它直接跳到了4,所以错误。
对于答案C:
1入;
1出,5入;
5出,3入;
3出, (3已没有接班人,故此根枝条已捋到底)
(需返回上级5,发现有新分叉枝条4、6均未入队过,所以我们先入4)
4入;
4出,2入;
2出,7入;
7出,6入;
6出。 顶点已出完,结束搜索。
所以顺序是:1 5 3 4 2 7 6
对于答案D:顶点4还有接班人即未捋到底,而它直接跳到了7 ,所以错误。
故答案是AC,我觉得你的标准答案A不正确。只能说A是树不分叉的深度优先搜索选择,因为C虽然也正确但树有一个分叉。
#include<stdio.h>
int main() {
int arr[31];
for (int i = 0; i < 3;i++) {
printf("请输入第%d项:",i+1);
scanf_s("%d",&arr[i]);
}
for (int i = 3; i < 30; i++) {
arr[i] = arr[i - 1] + arr[i - 2] + arr[i - 3];
}
for (int i = 0; i < 30; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}