92. 递归实现指数型枚举

92. 递归实现指数型枚举

DFS

DFS(node):
    if node is null:
        return
    
    // 前序遍历:先访问当前节点
    visit(node)  
    
    // 递归遍历所有子节点
    for child in node.children:
        DFS(child)
#include <bits/stdc++.h>
using namespace std;

bool f[20];
int n;

void bfs(int k)// 第k个数
{
    if (k > n)// 截至条件
    {
        for (int i = 1; i <= n; i ++ )
        {
            if (f[i]) cout << i << " ";
        }
        cout << endl;
        return;
    }
    f[k] = false;// 子节点1,同时经行访问
    bfs(k + 1);
    f[k] = true;// 子节点2,同时经行访问
    bfs(k + 1);
}

int main()
{
    cin >> n;
    bfs(1);
    
    
    return 0;
}
posted @ 2025-09-11 15:36  Roin_Long  阅读(5)  评论(0)    收藏  举报